在 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 项目?