如何使用bjam语法配置Boost.Python?

3

我正在尝试使用Boost.Python。

我的系统是:

Visual Studio 2012 + Windows7 64位 + Python 2.7.5 32位 + Boost 1.54。

现在,我认为已经安装了Boost.Python,并且可以在C:\local\boost_1_54_0\lib32-msvc-11.0找到.dll和.lib文件,例如boost_python-vc110-mt-gd-1_54.lib

然后,我尝试在命令提示符中运行示例,路径为C:\local\boost_1_54_0\libs\python\example\quickstart,如下所示:

bjam toolset=msvc toolset=msvc --verbose-test --debug-configuration test

然后我收到一些警告,如下所示:

notice: [python-cfg] ...requested configuration matched!

notice: [python-cfg] Details of this Python configuration:

notice: [python-cfg] interpreter command: "C:\Python2.7.5\python"

notice: [python-cfg] include path: "C:\Python2.7.5\Include"

notice: [python-cfg] library path: "C:\Python2.7.5\libs"

notice: [python-cfg] DLL search path: "C:\Python2.7.5"

此外,还有链接错误:

LINK : warning LNK4001: no object files specified; libraries used LINK : error LNK2001: unresolved external symbol _mainCRTStartup bin\test_embed.test\msvc-11.0\debug\test_embed.exe : fatal error LNK1120: 1 unresolved externals

我认为配置文件可能有问题。在Boost.Python指南中,我发现有两个文件可能很重要,它们是user-config.jamboost-build.jam

对于user-config.jam,我在C:\local\boost_1_54_0\tools\build\v2找到了它,并且其内容如下:

using msvc : 11.0 ;

using python : 2.7 : C:\\Python2.7.5\\ ;

对于boost-config.jam,它无处不在!我不知道应该修改哪一个。我猜它应该是与示例位于同一目录中的那个。但是它的内容应该是什么?

同时,我仍然不确定这个问题是由配置文件错误还是Boost.Python安装不良引起的。
有没有bjam语法教程?我已经谷歌搜索过了,但每次都被带回Boost教程。
有人能帮我解决这个问题吗?非常感谢。 :)
1个回答

4

你是否检查过你的家目录下的 user-config.jam 文件:

ECHO %HOMEDRIVE%%HOMEPATH%

下一步是确保你的 user-config.jam 文件对于你的 Python 配置是完整的。

以下是一个示例:

# -------------------
# 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
    ;

如何在jam文件中使用空格?使用Python :3.6 # 版本 :“D:\Program Files\Python36\python.exe” # Python路径 ; - UglyCoder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接