我正在尝试链接Jamfile中的boost库:
import os ;
path-constant BOOST_ROOT : [ os.environ BOOST_ROOT ] ;
use-project /boost : $(BOOST_ROOT) ;
exe hello :
hello.cpp
/boost//filesystem
/boost//system
:
<link>static
;
虽然我可以从控制台输出看到库已编译,但链接器输出错误:
msvc.link bin\msvc-10.0\debug\link-static\hello.exe
LINK : fatal error LNK1104: cannot open file 'libboost_filesystem-vc100-mt-gd-1_46.lib'
为什么会报告错误? 我是从Jamfile级别链接到库,那么为什么库应该没有链接呢?据我了解,如果整个构建过程由Jamfiles控制,则库应该静态自动链接,并且不应添加特定于编译器的标志(因为它会使Jamfiles不那么便携)。请帮忙。
答案 0 :(得分:2)
您可能在使用boost的自动链接功能时遇到问题。您可以通过定义BOOST_ALL_NO_LIB
来禁用它(我想将<define>BOOST_ALL_NO_LIB
添加到目标hello
的要求就足够了。“