在使用CMake 3.15.3和Visual Studio Code 1.39.2的Ubuntu 18.04上进行开发。我的C ++项目的CMakeLists.txt文件如下:
set(CMAKE_CXX_flaGS_DEBUG "${CMAKE_CXX_flaGS_DEBUG} -DDEBUG")
在C ++代码中,可以像这样检查DEBUG
定义:
#ifdef DEBUG
DebugFunction();
#else
ReleaseFunction();
#endif
这一切都按预期工作。注释掉set(CMAKE_CXX_flaGS_DEBUG...
行,然后调用ReleaseFunction
。取消注释并调用DebugFunction
。
问题是Visual Studio代码编辑器无法理解DEBUG
符号是否真正定义。代码始终假定``未定义调试并且将DebugFunction
显示为灰色。
是否有一种简单的方法来获取Visual Studio Code,以了解定义了哪些符号,哪些没有定义?大概这需要让代码在CMakeLists.txt
内部查看...但是如何?