exec をコンパイルしようとすると、b2 toolset=clang
次のようなリンク コマンドが使用されます。
clang++ -L/apps/bzip2/lib -L/apps/zlib/lib -o fixfast/bin/clang-linux-3.3/release/link-static/fixfast-mds_MCAST fixfast/bin/clang-linux-3.3/release/link-static/fixfastDataD.o /apps/boost/root/bin.v2/libs/date_time/build/clang-linux-3.3/release/link-static/libboost_date_time.a ~/infra_install/lib/libfixfast.a ~/infra_install/lib/libCDef.a -lbz2 -lz -lpthread
ブーストの未定義の参照の長いリストで失敗しますが、次の並べ替えられたバージョンは正常にリンクします:
clang++ -L/apps/bzip2/lib -L/apps/zlib/lib -o fixfast/bin/clang-linux-3.3/release/link-static/fixfast-mds_MCAST fixfast/bin/clang-linux-3.3/release/link-static/fixfastDataD.o ~/infra_install/lib/libfixfast.a ~/infra_install/lib/libCDef.a /apps/boost/root/bin.v2/libs/date_time/build/clang-linux-3.3/release/link-static/libboost_date_time.a -lbz2 -lz -lpthread
libCDef
onのリンク依存関係を指定している方法は、/boost/date_time//boost_date_time
リンク中に正しい順序を持つにはおそらく十分ではないと思います。
CDef/Jamroot :
project : usage-requirements <include>~/infra_install ;
lib CDef
: [ glob *.cpp ]
:
<library>/boost/date_time//boost_date_time
<library>/boost/filesystem//boost_filesystem
<library>/boost/system//boost_system
<library>/boost/iostreams//boost_iostreams
<link>static
;
install libCDef
: CDef
: <install-type>LIB
<variant>release:<location>"~/infra_install/lib"
: release
;
CDef が boost_date_time に依存することを指定する必要があるため、リンカーはそのように注文する必要があります。