【发布时间】:2023-04-04 20:34:01
【问题描述】:
在我的项目中有一个包含在 ifdef 预处理器指令中的文件
#ifdef SOME_SYMBOL
... entire file ...
#endif
SOME_SYMBOL 由在此之前编译的另一个文件定义,并且代码按预期工作,但静态分析器不知道此符号,因此它认为 SOME_SYMBOL 未定义。整个文件没有语法高亮,只是跳过了一些分析(例如语法错误高亮)。
有没有办法告诉分析器将此符号视为已定义而不在 CMakeLists.txt 中定义它?
我没有在 CMakeLists.txt 中定义 SOME_SYMBOL 的选项,因为项目依赖于它在某些编译路径中未定义(更改它几乎是不可能的)。
更新:
似乎这目前是 JetBrains 的一个未解决问题。见Issue CPP-2286
【问题讨论】:
-
您可能需要为文件找到合适的包含上下文。如果您有可见的状态栏,您可以在右下角看到“上下文:”下拉列表。试试看吧。
标签: preprocessor analysis clion