Я пытаюсь передать определенный макрос в свою программу во время компиляции следующим образом:
#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» определен, поэтому я добавляю -DKEY_CNT=2
в Properties -> C/C++ Build -> Settings -> GCC C++ Compiler -> Miscellaneous
, но это все равно не работает.
Любые советы, чтобы решить эту проблему?
======== добавлено ========
Версия Eclipse: Eclipse IDE для разработчиков C/C++, Luna Service Release 2 (4.4.2)