【发布时间】:2013-12-04 06:59:56
【问题描述】:
我正在尝试关注this tutorial 为 Windows 的 python 包装 C++ 代码。我安装了 python。下载了最新版本的 boost(1_55)。首先我运行 bootstrap.bat 来构建 bjam.exe。接下来,我配置boost_1_55_0\tools\build\v2\user-config.jam 使用 msvc10 编译器并添加了 python 安装路径。 现在,根据教程:
现在我们准备好了...一定要 cd 到 libs/python/example/tutorial 教程“hello.cpp”和“Jamroot”所在的位置。
最后:
果酱
尝试在该目录中运行 bjam 给我:“bjam 未被识别为内部或外部命令”错误。我在这里错过了什么? user-config.jam 应该驻留在其他位置吗?还是将 bjam 添加到系统路径中?
更新:
好的。感谢@john,我不得不将 bjam 添加到系统路径。但是现在,运行它,hello_ext.lib 是在 \boost_1_55_0\libs\python\example\tutorial\bin\msvc-11.0\ 中创建的调试但不是DLL。根据教程我应该得到扩展的DLL文件。现在,我不确定python如何与扩展链接。但如果我假设它确实像C++那么它应该与hello_ext链接。 lib.But 如果运行:
python hello.py
其中包含从扩展中导入的方法,python运行时崩溃。没有关于这个工作流程的综合教程吗?Boost doc完全不了解这个。
【问题讨论】:
-
可能 bjam 不在您的路径中。使用系统控制面板将包含 bjam 的目录添加到您的 PATH。
-
不能真正帮助你 bjam 但我通常会设法避免在 unix 上使用 bjam 来编译 boost-python 项目。我只是确保在 makefile 中包含正确的头文件路径和动态库路径。我很确定可以为 Windows 和您的 IDE 做类似的事情。祝你好运
-
不要使用 bjam。我建议改用 scons。