针对boost库的Boost.Build链接

时间:2012-09-30 13:36:42

标签: boost bjam boost-build

我正在尝试链接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不那么便携)。请帮忙。

1 个答案:

答案 0 :(得分:2)

您可能在使用boost的自动链接功能时遇到问题。您可以通过定义BOOST_ALL_NO_LIB来禁用它(我想将<define>BOOST_ALL_NO_LIB添加到目标hello的要求就足够了。“