【发布时间】:2021-01-16 02:33:23
【问题描述】:
所以我有一个 CMake 项目,我在 Visual Studio 2019 中使用“打开文件夹”选项打开它。从这里我可以构建和编译它而不会出现任何错误(CMake 正在使用工具链文件中指定的 IAR 编译器(iccarm.exe))。到目前为止,一切都很好。 问题在于,尽管 IntelliSense 找到了所有必要的头文件,但仍显示许多主要与“未定义的 __INTxx_T_TYPE__”相关的错误。
据我所知,双下划线表示它是编译器内部数据类型,未在任何头文件中定义,这也可以解释为什么 IntelliSense 报告它未定义(即使编译器知道该类型)。我想为了解决这个问题,IntelliSense 确实支持不同的模式,如“windows-msvc-x86”或“linux-gcc-arm”。但是IAR编译器没有选项。
所以我的问题是:如何让 IntelliSense 在这个项目中运行?有没有办法为 IAR 编译器添加自定义 IntelliSense 模式?我可以只为定义了缺失类型的 IntelliSense 添加头文件吗?有没有办法告诉 IntelliSense 不要担心这些类型/忽略这些类型?
【问题讨论】:
-
它只理解 microsoft 和 mingw 的内部结构。我认为它不会知道 IAR 内部类型。
-
在 IntelliSense 处理时定义了
__INTELLISENSE__参见 docs.microsoft.com/en-us/cpp/preprocessor/… 您可以尝试添加一些条件符号来关闭一些最烦人的错误。
标签: c++ c cmake intellisense iar