我正在使用boost 1.46中的最新版boost-build。鉴于main.cpp
取决于a.h
和b.h
,使用boost-build能够自动检测依赖关系我的jam文件只是
exe my_prog : main.cpp ;
但是,如果有一个实现文件b.cpp
,则不会生成或链接对象b.o
。我希望我的构建脚本最小化,并且每次添加时都不需要调整一个新文件。那么,我该如何自动完成?
编辑以反映真实意图与我要求的内容。
答案 0 :(得分:1)
有什么理由不行吗?
exe my_prog : main.cpp b.cpp ;
按照您想要的方式进行操作听起来既痛苦又令人不愉快,特别是对于那些刚刚进行强化建设的人来说。另外,有时您可能只需要标题,而不是cpp。
如果您的代码组织得无可挑剔,并且您只需要当前目录中的文件,则可以轻松获取所有cpp文件:
exe my_prog : [ glob *.cpp ] ;
(还有其他一些参数可以让你过滤掉编辑器可能创建的备份/恢复文件。还有其他版本的glob可以下载到子目录中。)
如果多个最终可执行文件需要多个cpp文件,最好使用lib
规则创建一个库,并将其作为可执行文件的源之一。
lib blib : b.cpp ;
exe my_prog : main.cpp blib ;