我最近开始为 C++ 项目编写单元测试(使用GoogleTest )。构建主项目相当简单:我使用 GCC-MM
和-MD
标志为我的目标文件自动生成依赖项,然后将所有目标文件链接在一起以输出可执行文件。没有惊喜。
但是当我正在编写单元测试时,有没有办法让 make 或 GCC 找出编译每个测试需要哪些目标文件?现在,我有一个相当幼稚的解决方案(如果你可以这样称呼它),它为每个单元测试编译所有可用的目标文件,这显然是浪费(在时间和空间方面)。有没有办法(使用 make、gcc、sed 或其他任何方法)以类似于为原始源文件生成依赖项的方式来判断给定单元测试需要哪些目标文件?