gpt4 book ai didi

c++ - 使用 Boost.build 包含一个库

转载 作者:太空宇宙 更新时间:2023-11-04 12:23:12 26 4
gpt4 key购买 nike

我正在使用 boost.build 编译引用库的 C++ 代码,CGNS ,但在使用 boost.build 时遇到了一些困难。 CGNS 编译为一个库,其中包含一个用于平台的文件夹,例如用于 linux 构建的 [path]/LINUX。我想在构建中包含库 [path]/LINUX/libcgns.a。我希望这是跨平台的,因此 LINUX 目录被引用用于 LINUX 构建,WIN 目录被用于 WIN 构建(我相信这有平台条件)。

我成功地包含了库头文件,但是我该如何进行库的条件包含呢?我的简单测试 Jamroot.jam,其中 main.cpp 只是 CGNS 文档中的一个示例。

exe CGNSTest 
: src/main.cpp
: <include>../Dependencies/cgnslib ;

此外,我想将 CGNS 库构建到我的二进制文件中(静态引用?)

最佳答案

使用两个引用,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 ;

关于c++ - 使用 Boost.build 包含一个库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3804570/

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