Visual Studio代码不了解CMake -DDEBUG

在使用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内部查看...但是如何?

wjswcj 回答:Visual Studio代码不了解CMake -DDEBUG

对于Windows,也许您可​​以尝试 设置(CMAKE_CXX_FLAGS_DEBUG“ $ {CMAKE_CXX_FLAGS_DEBUG} / DEBUG”) 要么 add_definitions(“-DDEBUG”)

本文链接:https://www.f2er.com/3155779.html

大家都在问