我正在使用boost.build来编译引用库{c}的c ++代码,但是使用boost.build这样做有些困难。 CGNS编译到一个库,带有一个平台文件夹,例如[build] / LINUX for linux build。我想在构建中包含库[path] /LINUX/libcgns.a。我希望这是跨平台的,所以LINUX目录引用LINUX构建,WIN目录用于WIN构建(我相信有平台条件)。
我设法包含库头文件,但是如何进行库的条件包含?我的简单测试Jamroot.jam,其中main.cpp只是CGNS文档的一个例子。
exe CGNSTest
: src/main.cpp
: <include>../Dependencies/cgnslib ;
另外,我想在CGNS库中构建我的二进制文件(静态引用?)
答案 0 :(得分:1)
使用两个引用,http://www.highscore.de/cpp/boostbuild/和http://www.boost.org/doc/tools/build/doc/userman.pdf,我创建了一些有效的东西,但它可能不是理想的。
lib cgns
: # sources
: # requirements
<name>cgns
<target-os>linux:<search>../Dependencies/cgnslib/LINUX
<target-os>windows:<search>../Dependencies/cgnslib/WIN32
: # default-build
: # usage-requirements
<include>./../Dependencies/cgnslib ;
alias static_libraries : cgns : <link>static ;
exe CGNSTest
: src/main.cpp static_libraries
: <target-os>windows:<linkflags>/NODEFAULTLIB:MSVCRTD ;