Vscode 在 Centos 7.7 上无法识别 Intel AVX 功能,关于 __mm256i 的错误

Vscode on Centos 7.7 does not recognize Intel AVX functions, errors about __mm256i

我想通过在我的项目中包含 <immintrin.h> 库来使用一些 avx2 函数;但是,Vscode 似乎无法识别这些功能,因为它显示我的项目包含各种 identifier "__m256i" is undefined 错误,如附件图片所示。我可以顺利地编译和运行,但错误确实令人不安。我尝试将这些类型的声明添加到 Vscode 路径中,但没有帮助。

我在 Centos 7.7 中使用最新的 Vscode 版本。

Vscode show errors

Try added the include path, but does not help

__mm256i__m256i 的错字。

类型名称有 2 个下划线和一个 m,例如 __m128i
内部函数名称有一个下划线和 2 个 em,例如 _mm_add_epi32

I can compile and run smoothly, but the errors are really disturbing.

这太难以置信了,您确定您的可执行文件不是 运行 在您的源代码中引入此错误之前的旧版本吗?这是一个错误,而不是警告; gcc 不会从具有此错误的源文件中生成 .o。硬错误与编译相反 "smoothly".

我通过重新启动计算机自行解决了问题。我想当时不知何故计算机无法识别Intel AVX函数的定义。