无法运行bjam来编译boost python教程

时间:2013-11-20 10:28:05

标签: c++ python boost

我正在尝试关注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完全对此感到厌烦。

1 个答案:

答案 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