在 c++ Eclipse CDT 中使用不同的值构建

Posted

技术标签:

【中文标题】在 c++ Eclipse CDT 中使用不同的值构建【英文标题】:Build with different values in c++ Eclipse CDT 【发布时间】:2015-05-11 19:45:33 【问题描述】:

如何在 c++/Eclipse CDT 中做到这一点?

#if BUILD = DEBUG
#define DB_FILE="DB"
#elif BUILD = RELEASE
#define DB_FILE="/home/project/clientXY.DB"
....

CDT 中是否有任何配置选项可以在构建之间进行修改(以更改上述参数)?

非常感谢:D

【问题讨论】:

您使用哪个版本的 Eclipse? 【参考方案1】:

如果您进入项目属性对话框,选择 C/C++ 常规 - 路径和符号并选择符号选项卡,您可以设置符号,就像您在代码中#定义它们一样。

由于上面有一个“配置”选择器,我想你可以有 >1 具有不同符号的配置,尽管我没有尝试过。此外,我不会在实际构建过程中使用这些符号,我只是使用它们来帮助查看处于条件配置下的部分。

不过,我希望这会有所帮助。

【讨论】:

【参考方案2】:

我在项目的属性中找到了答案,如果你想要某种在 Debug 和 Release 或任何其他之间不同的预处理器过程,你唯一需要做的就是:

    项目的属性 C/C++ 构建 设置 工具设置 如果您使用的是 C++“GCC C++ 编译器”,如果您不是“GCC C 编译器” 预处理器 在定义的 Sumbols(-D)“添加...”下 你写了“XXX_BUILD”之类的东西,我写的是“BUILD_RELEASE” 申请并确定

记得在两个构建配置中都这样做。

然后在您的代码中(在我的情况下在标题中)添加以下内容

#ifdef XXX_BUILD
 //something
 #include "someHeaderThatOnlyWorkOnXXX_BUILD.h"
#elif YYY_BUILD
 //something else
 #include "someWhereElseThatWorksOnYYY_BUILD.h"
#endif

【讨论】:

以上是关于在 c++ Eclipse CDT 中使用不同的值构建的主要内容,如果未能解决你的问题,请参考以下文章

使用 Eclipse CDT/RSE/RDT 远程调试 C++ 应用程序

如何从现有的 C++ 源代码在 Eclipse CDT 中创建 GNU Autotool 项目?

Eclipse CDT 中优化的项目结构

从命令行构建多个 CDT C++ 项目

Eclipse CDT:如何在 C 源代码上使用 GCC C++ 编译器?

Eclipse CDT 编辑器支持 altivec C++ 扩展?