我的源代码中有:
// foo.cpp
struct foo
{
foo() {}
#ifdef I_WANT_THIS_FEATURE
void bar() {}
#endif
};
Run Code Online (Sandbox Code Playgroud)
在我的 Makefile 中我有
foo.o: foo.cpp
g++ -c -DI_WANT_THIS_FEATURE foo.cpp -o foo.o
Run Code Online (Sandbox Code Playgroud)
这可以从命令行以及我在 Eclipse 中创建的外部构建器(它基本上定义了一些环境变量和调用make)进行良好的编译,并且我可以调用foo::bar().
但是,在 Eclipse CDT 源代码编辑器中,我定义的部分foo::bar()具有灰色背景(表明foo::bar()不会包含在构建中),并且类型对象上的代码完成foo不建议bar()作为可以调用的方法。
如何使用I_WANT_THIS_FEATURE自定义 makefile 在 Eclipse CDT makefile 项目中定义宏,以便源代码编辑器和代码完成可以识别该宏?