gpt4 book ai didi

c++ - Boost.Build 向项目引入预构建库的最佳实践

转载 作者:行者123 更新时间:2023-11-30 02:12:44 25 4
gpt4 key购买 nike

我们目前使用这样的 `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,我们必须将 block 复制到项目的jamfile 中。请注意,它定义了文件名、搜索目录、包含目录和宏。这仅适用于 VC 8.0。如果我们添加对其他编译器的支持, block 会更大。

有没有更好的方法在 boost.build 中引入外部预构建库?理想情况下,我们希望有一个单独的 jamfile,项目 jamfile 可以引用,并添加几行以使其可用于项目。

最佳答案

您可以在任何目录中创建一个名为 Jamroot 的新文件,其中包含上面的“lib”定义。然后,您的项目可以:

   use-project /ace : <location-to-that-directory> ;

exe a : a.cpp : /ace//ace_lib_static ;

我还建议您将 ../lib/ACE_wrappers 添加到使用要求中,以便引用/ace//ace_lib_static 时会自动添加包含。

喂,沃洛佳

关于c++ - Boost.Build 向项目引入预构建库的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1446082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com