got*_*nes 5 c++ python word-wrap py++
我需要包装一个现有的C++库以便在Python中使用.在阅读了关于选择适当的方法来包装C++以便在Python中使用的答案之后,我决定使用Py ++.
我使用教程文件浏览了Py ++教程,我得到了预期的输出generated.cpp,但是我还没想出要做什么才能真正使用生成的代码作为我可以在Python中导入的扩展.我确定我现在必须编译代码,但是用什么?我应该使用bjam吗?
Py ++生成您与boost :: python一起使用的语法,以在您的应用程序中生成python入口点.假设Py ++的一切顺利,你需要下载Boost框架,并将boost include目录和boost :: python lib添加到你的项目中,然后使用Py ++生成的cpp进行编译.
您可以使用您想要的任何构建系统,但是使用bjam构建boost.你需要选择是否要静态库或则动态升压蟒蛇LIB请按照制作提振说明这里.
如果在Windows上,则需要将构建库中的扩展名从.dll更改为.pyd.是的,它需要是一个库项目,这不适用于可执行文件.
然后,将pyd放在你的机器上的python可以找到它并进入python并执行import [Your-library-name]并希望一切都能正常工作.
最后一点,在这个宏中的generated.cpp中给出的名称:
BOOST_PYTHON_MODULE( -name- )
Run Code Online (Sandbox Code Playgroud)
需要是项目的确切名称,否则python会抱怨.
我不到一个月前就完成了这一切,所以我知道这种混乱.
我在构建库和测试时使用python扩展非常容易的一件事就是在我的构建环境中自己构建boost :: python和python.这样,pyd就会到达我想要的位置,并且用户不需要安装python就可以使用我的扩展程序运行.虽然这对你正在做的事情可能有点过分.
编辑:如果您希望在计算机上轻松安装和编译扩展,请查看python的setuptools.只需几行简单的线条就可以编译python并为您安装包.一个缺点是它不适合我们这些喜欢在visual studio中开发的人.
| 归档时间: |
|
| 查看次数: |
6475 次 |
| 最近记录: |