gpt4 book ai didi

c++ - 是否可以根据构建配置更改 Eclipse CDT 中的代码?

转载 作者:行者123 更新时间:2023-11-30 05:08:53 24 4
gpt4 key购买 nike

我有一个为 CentOS 7 和 Raspberry Pi 构建的 C++ 项目。我有一个用于为 CentOS 编译的 Eclipse 构建配置和另一个用于为 Raspberry Pi 交叉编译的构建配置。这些都很好用。

我想要的是根据我使用的构建配置自动更改一两行代码。我注意到 Eclipse 有一个名为 ConfigName 的构建变量,但我不认为它可以在代码中访问。我还尝试在项目设置中为每个构建配置手动创建一个宏。但是,当我尝试读取代码中的宏时,我得到了它未在此范围内声明的错误。除了基本知识(例如确定您正在编译的操作系统)之外,我对宏没有太多经验。

这看起来应该是一项不难理解的常见任务。也许我遗漏了一些明显的东西,但我似乎找不到任何关于我正在尝试做的事情的文档。这可能吗?我看错方向了吗?

最佳答案

经过大量研究文档和反复试验,我找到了解决方案。

在项目属性中,转到 C/C++ General --> Paths and Symbols --> Symbols --> GNU C++。为每个构建配置添加一个符号。我添加了以下内容:

CONFIG_DEBUG
CONFIG_PI_DEBUG
CONFIG_RELEASE
CONFIG_PI_RELEASE

注意:澄清一下,不要在同一个地方输入以上符号。在各自的构建配置中将每个作为单个符号输入。

然后,可以使用预处理器指令更改代码。我基本上使用了以下内容:

#if defined(CONFIG_PI_RELEASE)
// Raspberry Pi release code
#elif defined(CONFIG_RELEASE)
// CentOS release code
#elif defined(CONFIG_PI_DEBUG)
// Raspberry Pi debug code
#else
// CentOS debug code
#endif

关于c++ - 是否可以根据构建配置更改 Eclipse CDT 中的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46547985/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com