gpt4 book ai didi

c++ - 使用 Boost.build 自动包含目标文件

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

我使用的是 boost 1.46 中的最新版本的 boost-build。给定依赖于 a.hb.hmain.cpp,使用 boost-build 自动检测依赖项的能力,我的 jam 文件很简单

exe my_prog : main.cpp ;

但是,如果有一个实现文件 b.cpp,对象 b.o 既不会生成也不会链接进来。我希望我的构建脚本尽可能少,并且不需要每次添加新文件时都进行调整。那么,我怎样才能自动执行此操作?

经过编辑以反射(reflect)真实意图与我的要求。

最佳答案

有什么原因这行不通吗?

exe my_prog : main.cpp b.cpp ;

按照你想要的方式去做听起来很痛苦和不愉快,尤其是对于刚接触 boost-build 的人来说。此外,有时您可能只需要 header ,而不需要 cpp。

如果你的代码组织得无懈可击,只需要当前目录下的文件,那么你可以很容易地得到所有的cpp文件:

exe my_prog : [ glob *.cpp ] ;

(还有其他 glob 参数可以让您过滤掉您的编辑器可能创建的备份/恢复文件。还有其他版本的 glob 会下降到子目录中。)

如果多个最终可执行文件需要多个 cpp 文件,最好使用 lib 规则创建一个库并将其用作可执行文件的源之一。

lib blib : b.cpp ;
exe my_prog : main.cpp blib ;

关于c++ - 使用 Boost.build 自动包含目标文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5113539/

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