使用 "Default"
智能感知引擎时,我的C++项目中的一些符号无法解析。事实证明,这是因为它们位于由 #ifdef
保护的标头中,这取决于通过 makefile 传递给 gcc 的宏以及 -D
标志。我如何告诉智能感知引擎这些定义,以便它能够编译标头的这些部分?
原文由 Kamil Kisiel 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 "Default"
智能感知引擎时,我的C++项目中的一些符号无法解析。事实证明,这是因为它们位于由 #ifdef
保护的标头中,这取决于通过 makefile 传递给 gcc 的宏以及 -D
标志。我如何告诉智能感知引擎这些定义,以便它能够编译标头的这些部分?
原文由 Kamil Kisiel 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
3 回答4.1k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
遵循此线程中的建议后,我仍然无法让 vscode 识别我在 c_cpp_properties.json 中定义的宏。
事实证明,如果您使用 vscode 的 CMake 扩展并选择了“all”目标,那么您在 CMakeLists 中定义的任何宏都不会被识别,c_cpp_properties.json 中的任何宏也不会被识别。这就像从状态栏中选择要构建的目标一样简单,并且智能感知能够获取为该目标定义的任何宏。不需要 c_cpp_properties.json。