【发布时间】:2019-10-28 21:12:16
【问题描述】:
我的组织拥有庞大的 C/C++ 代码库。我们从这个代码库的子集构建了许多二进制文件,包括生产和测试二进制文件。有许多构建变体。相同的 C/C++ 源文件在不同的二进制文件中使用不同的 -I 和 -D 编译器标志进行编译。示例:二进制“test1”可能会使用一组 -I 和 -D 标志编译“file.c”,而“test2”则使用其他标志编译同一文件。
如何为这样的代码库设置 Eclipse CDT 项目?
我们尝试了两种方法,都相当不成功:
为每个二进制文件创建一个项目,并使用其 -I 和 -D 标志。
使用所有二进制文件中的所有 -I 和 -D 的联合创建一个项目。
【问题讨论】:
-
您对项目设置有什么要求?您是否希望使用 CDT 的托管构建来构建项目,或者您只是希望 Eclipse 中的构建功能调用现有的构建脚本,如
make?您是否希望能够以不同的模式打开“file.c”(例如“file.c as built for test1”与“file.c as built for test2”)并看到不同的东西(例如标记的不同部分作为非活动的预处理器分支)? -
我们正在使用 Build 功能从命令行构建项目。 (也就是说,我们没有使用托管构建。)我们的主要用例是代码浏览。 Eclipse 可以找到几个同名的 .h 文件,或者在不同的 .c 文件中找到多个定义,用户可以在尝试打开定义时选择打开哪个文件。但理想情况下,定义应该是正确的,即正确的#ifdef 应该被标记为活动的。
标签: eclipse eclipse-cdt