更正C++识别编译器选项的设置?

v6ylcynt  于 2023-01-10  发布在  其他
关注(0)|答案(1)|浏览(166)

在VS代码中,我有一个define标识符没有找到。变量最终作为一个标志-DENABLE_LOGS_PREVIEW传递给编译器,并在./cmake-build-debug/build.ninja中找到。我直接从命令行使用CMake和Ninja进行编译。

#ifdef ENABLE_LOGS_PREVIEW
std::cout << "Hello world" << std::endl;
#endif
std::cout << "Goodbye world" << std::endl;

正确打印,尽管VS代码显示为灰色std::cout << "Hello world" << std::endl;

Hello world
Goodbye world

我正在努力获取正确的c_cpp_properties.json来与我的工作流一起工作。我如何使上面的定义被识别?

dldeef67

dldeef671#

这里的答案是让CMake生成一个compile_commands.json并将其添加到VS代码c_cpp_properties.json中,如下所示:

"compileCommands": "${workspaceFolder}/cmake-build-debug/compile_commands.json"

相关问题