如何让bjam检测我在Windows上的Python安装?

2024-09-29 02:20:04 发布

您现在位置:Python中文网/ 问答频道 /正文

<>我继承了一个使用BJAM和BythPython构建C++中的Python模块的项目。Jamroot之前包含:

constant PYTHON_ROOT : C:/Python26 ;
using python : 2.6 : $(PYTHON_ROOT) ;
use-project boost : C:/boost_1_40_0 ;

我安装了Python2.7,因此将其更改为:

^{pr2}$

然后我运行了bjam --toolset=msvc --with-python,但失败了(在一组非常慢的“…耐心…”消息之后),因为它找不到pyconfig.h或任何Boost lib文件。我把它改成:

using python : 2.7 : C:/Python27/python.exe : C:/Python27/include : C:/Python27/lib ;

要明确地说明路径,这似乎解决了pyconfig.h问题,尽管我在指定--python=2.7,但我对上面一行的2.6版本有问题。在

现在我得到了一堆Boost链接器错误,比如LINK : fatal error LNK1104: cannot open file 'libboost_filesystem-vc90-mt-1_40.lib',尽管它们存在于C:/boost_1_40_0/stage/lib/中。在

你知道我缺少什么配置标志吗?在


Tags: 模块项目uselibrootusingpython27boost
2条回答

我想就是这样”Boost.Python在“C:/boost_1_40_0”中,是用Python2.6构建的 但你想用Boost.Python现在的Python2.7二进制文件和库。这是一个常见的错误。你应该用Python2.7重新构建Boost源代码包!在

根据Jamroot文件中的内容,您可能需要在开头添加几行:

use-project boost : <Full path to your boost root directory> ;

这应该告诉您的项目使用目录中的boost。在

此外,在项目行中,一旦使用了use project boost命令,就可以在项目定义的“需求”部分添加boost python的库需求:

<library>/boost/python//boost_python

在Jamroot文件中添加这两行代码后,我就不再有链接问题了。在

如果你可以发布你的Jamroot文件,我们可以看看是否有更具体的需要。在

相关问题 更多 >