我正在尝试关注this tutorial包装用于Windows的python的C ++代码。我安装了python.Downloaded最新版本的boost(1_55)。首先我运行了bootstrap.bat来构建bjam.exe.Next,我配置了boost_1_55_0 \ tools \ build \ v2 \ user-config.jam以使用msvc10编译器并添加了python安装的路径。 现在,基于教程:
现在我们准备好了......一定要cd到libs / python / example / tutorial 教程“hello.cpp”和“Jamroot”所在的位置。
最后:
的bjam
尝试在该目录中运行bjam会让我:“bjam未被识别为内部或外部命令”错误。我在这里错过了什么? user-config.jam应该驻留在另一个位置吗?或者bjam是否已添加到系统路径?
更新:
好的。感谢@john我必须将bjam添加到系统路径。但是现在,运行它,在 \ boost_1_55_0 \ libs \ python \ example \ tutorial \ bin \ msvc-11.0 \中创建了hello_ext.lib调试但不是DLL。基于教程我应该得到扩展名的DLL文件。现在,我不确定python如何与extension.But如果我认为它确实像C ++那么它应该与hello_ext链接。 lib.But如果运行:
python hello.py
其中包含扩展名中的导入方法,python运行时崩溃。这个工作流程没有全面的教程吗?Boost doc完全对此感到厌烦。
答案 0 :(得分:4)
这对我有用:
1。)解压缩boost_1_55_0.zip
2.。)准备使用Boost Library Binaries
转到boost_1_55_0根目录并打开命令提示符并键入以下命令:
Bootstrap
3.)查找user-config.jam:
在命令提示符下键入以下内容:
ECHO %HOMEDRIVE%%HOMEPATH%
4.如果user-config.jam在你的homedrive目录中,请按照以下步骤进行更改:
注意:
.jam语言将“空白”称为参数分离!
# -------------------
# MSVC configuration.
# -------------------
# Configure msvc (default version, searched for in standard locations and PATH).
# using msvc ;
# Configure specific msvc version (searched for in standard locations and PATH).
using msvc : 10.0 : C:\\app\\tools\\MSVisualStudio2010\\VC\\bin\\cl.exe ;
….
# ---------------------
# Python configuration.
# ---------------------
# Configure specific Python version.
# using python : 3.1 : /usr/bin/python3 : /usr/include/python3.1 : /usr/lib ;
using python
: 2.5 # Version
: C:\\app\\tools\\Python25\\python.exe # Python Path
: C:\\app\\tools\\Python25\\include # include path
: C:\\app\\tools\\Python25\\libs # lib path(s)
: <define>BOOST_ALL_NO_LIB=1
;
5.。)配置后构建库!!
转到boost_1_55_0根目录并打开命令提示符并键入以下命令:
.\b2
6。)将user-config.jam复制到\ boost_1_55_0 \ libs \ python \ example \ tutorial 7.)进一步前往\ boost_1_55_0 \ stage \ lib \
将libboost_python-vc100-mt-gd-1_55.lib重命名为boost_python-vc100-mt-gd-1_55.lib并将其复制到
\boost_1_55_0\libs\python\example\tutorial
8。)现在你应该在\ boost_1_55_0 \ libs \ python \ example \ tutorial目录中拥有所有这些文件
hello.cpp
hello.py
user-config.jam
Jamroot
boost_python-vc100-mt-gd-1_55.lib
bjam.exe
9。)在\ boost_1_55_0 \ libs \ python \ example \ tutorial
中打开命令提示符输入以下命令:
bjam
10。)成功建造后..
您应该在目录中包含此文件:
hello_ext.dll
将此文件重命名为:
hello_ext.pyd