使用"Default"
智能感知引擎时,我的C++项目中的某些符号无法解析。事实证明,这是因为它们位于 header 中,并由#ifdef
保护,后者取决于makefile通过-D
标志传递给gcc的宏。我如何才能告诉智能感知引擎这些定义,以便它能够编译 header 的那些部分?
最佳答案
项目生成文件defines
在.vscode/c_cpp_properties.json
中设置。
"configurations": [
{
...
"defines":[
"MYSYMBOL",
"MYVALUE=1"
]
}
], ...
以下是一些打开
c_cpp_properties.json
的方法:Ctrl
+ .
。 ctrl
+ shift
+ P
,然后选择C/C++: Edit configurations (JSON)
。 File
-> Open
将其打开。 尽管在修改
c_cpp_properties.json
后,vscode将重新处理设置,但我发现在更改值时有时需要重新启动。这里有基本和不完整的信息:https://code.visualstudio.com/docs/languages/cpp
这是关于
c_cpp_properties.json
文件本身的良好链接:https://code.visualstudio.com/docs/cpp/c-cpp-properties-schema-reference关于c++ - 如何为C++智能感知引擎定义宏?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46415076/