c++ - 从编译传递的宏无法在 Eclipse 中解析

标签 c++ eclipse compilation macros predefined-macro

我正试图在编译时将定义的宏传递给我的程序,如下所示:

#include <stdio.h>
int main() {
    // KEY_CNT is not defined in program but passed at compile time
    printf("KEY_CNT: %d", KEY_CNT); 
    return 0;
}

并使用 g++ -DKEY_CNT=2 -O2 test_3.cpp -o test_3 进行编译,它按预期工作,但问题是 Eclipse 无法解析“KEY_CNT”。这只是一个玩具示例,在我原来的程序中,许多像这样带有红线的错误错误真的很烦人。

我认为 Eclipse 可能需要通知我的编译选项,以便它知道“KEY_CNT”已定义,所以我在 Properties -> C/C++ Build 中添加 -DKEY_CNT=2 -> Settings -> GCC C++ Compiler -> Miscellaneous,还是不行。

有什么解决这个问题的建议吗?

========添加了========

Eclipse 版本:面向 C/C++ 开发人员的 Eclipse IDE,Luna Service Release 2 (4.4.2)

最佳答案

Properties -> C/C++ Build -> Settings -> GCC C++ Compiler -> Miscellaneous

错误的地方。

应该是“C/C++ 构建 -> 设置 -> GCC C++ 编译器 -> 预处理器”

刚刚验证它有效。

关于c++ - 从编译传递的宏无法在 Eclipse 中解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39630179/

相关文章:

c++ - 面向数据的设计;如何优化 C++ 中的数据结构以提高性能?

java - 使用 Eclipse 从 Python 或 Java 调用 C++ 库

android - 从 APK 安装应用程序时出现 java.lang.ClassNotFoundException

java - 从命令行编译

ios - Xcode 8.0 Command/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc 失败,退出代码为 1

java - 在 TreeSet O(1) 时间内获取最大元素?

c++ - 分析文件名格式的字符串

C++ - SQLite3 在多线程环境中泄漏句柄

java - Android添加外部包

java - Maven 不会编译 Java 注解?