gpt4 book ai didi

c++ - 是否可以强制 boost-build 添加子项目的包含路径到主项目中?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:23:52 24 4
gpt4 key购买 nike

我已经为一个子项目制作了 bjam 文件。该子项目包含一些源代码和标题。构建的结果是一个静态库。我想使用另一个项目中的这个子项目。有没有办法避免明确指定子项目 header 的路径?

例如:

# Jamfile for sub-library
project sublib
: requirements <include>../headers/include
: source-location ../ ;

lib sublib : [ glob src/*.cpp ] : <link>static ;

我希望 boost-build 自动将上面的“../headers/include”添加到下一个 jam 文件中。但现在我需要明确指定它

# Jamfile for my root project
use-project /sublib : path_to_sublib/sublib-folder ;

project rootproject
: requirements <include>root_project_headers/
<include>path_to_sublib/headers/include/ # explicit declaration
<library>//sublib
<define>_VARIADIC_MAX=10
: source-location ../../ ;

exe root-executable : [ glob src/*.cpp ] ;

这可能吗?这些 jam 文件是从我原来的文件中简化而来的。这些文件对我有用。

附言我在文档中找到了 usage-requirements 属性,但我没有找到使其工作的方法。我尝试了所有我能想到的变体。

最佳答案

子项目 Jamfile

 lib subproj
: subproj.cpp
: <include>.
<link>static
:
: <include>.
;

项目 Jam 文件

exe proj
: <source files>
/subproj//subproj
;

对我有用。

关于c++ - 是否可以强制 boost-build 添加子项目的包含路径到主项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22174289/

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