我们目前使用这样的“lib”将外部预构建库引入项目:
lib ace_lib_static : : <name>libboost_ace-vc80-mt-sgd.lib <variant>debug <toolset>msvc <address-model>64
<search>../lib/ACE_wrappers/lib64
;
lib ace_lib_static : : <name>libboost_ace-vc80-mt-s.lib <variant>release <toolset>msvc <address-model>64
<search>../lib/ACE_wrappers/lib64
;
lib ace_lib_static : : <name>libboost_ace-vc80-mt-sgd-5_6_8.lib <variant>debug <toolset>msvc
<search>../lib/ACE_wrappers
;
lib ace_lib_static : : <name>libboost_ace-vc80-mt-s-5_6_8.lib <variant>release <toolset>msvc
<search>../lib/ACE_wrappers
;
project myProject
: requirements <include>.
<include>../lib/ACE_wrappers
<define>ACE_AS_STATIC_LIBS
...
要在项目中正确使用 ace_lib_static,我们必须将块复制到项目的 jamfile 中。请注意,它定义了文件名、搜索目录、包含目录和宏。这仅适用于 VC 8.0。如果我们添加对其他编译器的支持,那么块会更大。
有没有更好的方法在 boost.build 中引入外部预建库?理想情况下,我们希望有一个项目 jamfile 可以引用的单独 jamfile,并添加几行以使其可用于项目。