Visual Studio Code не понимает CMake -DDEBUG - PullRequest
1 голос
/ 06 ноября 2019

Разработка на Ubuntu 18.04 с CMake 3.15.3 и Visual Studio Code 1.39.2. Мой 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. Код всегда предполагает, что `` DEBUG не определен, и выдает DebugFunction.

. Есть ли простой способ получить код Visual Studio, чтобы понять, какие символы определены, а какие нет? Предположительно, это требует, чтобы Код заглянул внутрь CMakeLists.txt ... но как?

1 Ответ

1 голос
/ 06 ноября 2019

Для окон вы можете попробовать установить (CMAKE_CXX_FLAGS_DEBUG "$ {CMAKE_CXX_FLAGS_DEBUG} / DEBUG") или add_definitions ("- DDEBUG")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...