NetBeans未解析CMake定义



我正在使用NetBeans来处理现有的CMake项目。

CMakeLists.txt中有

set(DEFINES ${SRC}/defines.cmake)

所以当你在源代码中有时

#ifdef MY_OPT
//do stuff
#endif

这些在NetBeans中被屏蔽了,因为从来没有

#define MY_OPT

取而代之的是

-DMY_OPT

中定义.cmake.

我如何告诉NetBeans查看这个文件(以及其他文件)?

set(DEFINES ${SRC}/defines.cmake)

这条线路的用途是什么?如果您的defines.cmake包含一些预处理器设置,您最好使用include():

include("${SRC}/defines.cmake")

这个defines.cmake文件是否有可能通过预处理器设置defines?

是的,这就是add_definitions()的作用所在:

add_definitions(-DMY_OPT -DANOTHER_ONE)

综上所述:

CMakeLists.txt

# ...
include("${SRC}/defines.cmake")
# ...

定义.cmake

# Add defines
add_definitions(-DMY_OPT)

来源中的某个位置:

#ifdef MY_OPT
    /* This is used now */
#else
    /* MY_OPT is not defined - shouldn't happen now */
#endif

顺便说一下。,你也可以看看CCD_ 3。

相关内容

  • 没有找到相关文章

最新更新