我正在继承一个使用bjam和boost-python构建用C++编写的Python模块的项目。该Jamroot中原先包含:如何让bjam在Windows上检测我的Python安装?
constant PYTHON_ROOT : C:/Python26 ;
using python : 2.6 : $(PYTHON_ROOT) ;
use-project boost : C:/boost_1_40_0 ;
我的Python 2.7安装,而不是,所以我把它改为:
using python : 2.7 : C:/Python27 ;
我然后跑bjam --toolset=msvc --with-python
,其失败的(很慢” ......耐心了。 ..“一组消息),因为它找不到pyconfig.h
或任何Boost库文件。我把它改为:
using python : 2.7 : C:/Python27/python.exe : C:/Python27/include : C:/Python27/lib ;
更明确一些的路径,这似乎已经解决了这个问题pyconfig.h
,虽然我是有一个2.6版本,即使我指定--python=2.7
上述线路的问题。
现在我得到一堆像LINK : fatal error LNK1104: cannot open file 'libboost_filesystem-vc90-mt-1_40.lib'
这样的Boost链接器错误,尽管它们存在于C:/boost_1_40_0/stage/lib/
中。
任何想法我错过了什么配置标志?
你是否尝试将'PYTHON_ROOT'改为'C:/ Python27',而不是仅仅将一个不同的值硬编码到'using'语句中?前者可能在其他地方被引用。 – martineau
PYTHON_ROOT似乎只是在这个Jamroot文件中的一个快捷方式,而不是在子目录中的任何Jamfiles中,除非bjam预计PYTHON_ROOT在别的地方。 – UltraNurd