C++11 _mm_set1_epi32的运行时错误

C++11 _mm_set1_epi32的运行时错误,c++11,simd,C++11,Simd,我尝试在一些项目中使用SIMD指令,一切正常,除了我不能使用_mm_set1_epi32(x)命令(我仍然可以使用_mm_set_epi32(x,x,x,x),它工作正常),但只要我想使用来自另一个使用该命令的源代码,我就会收到一条“内存访问错误”消息(请原谅,我没有正确的英文翻译,我试着从德语翻译过来,它是Speicherzugriffsfehler) 一些补充资料: 我在一个空项目中得到错误,除了使用命令,我什么也不做 我在没有其他命令的情况下遇到了这个问题 对于代码示例,除了以下内容外

我尝试在一些项目中使用SIMD指令,一切正常,除了我不能使用_mm_set1_epi32(x)命令(我仍然可以使用_mm_set_epi32(x,x,x,x),它工作正常),但只要我想使用来自另一个使用该命令的源代码,我就会收到一条“内存访问错误”消息(请原谅,我没有正确的英文翻译,我试着从德语翻译过来,它是Speicherzugriffsfehler)

一些补充资料:

  • 我在一个空项目中得到错误,除了使用命令,我什么也不做
  • 我在没有其他命令的情况下遇到了这个问题
对于代码示例,除了以下内容外,此处没有其他内容可供发布:

int main() {
    __m128i test = _mm_set1_epi32(1);
}

错误是在运行时发生的,编译没有问题。

我解决了这个问题。我用来编译的标志出错了,这也是我没有放入任何代码的原因,我尝试在一行中执行命令,并在主函数中包含它

因此,对于解决方案,我现在使用:

-g -std=c++11 -Wall   -pedantic -msse4.1 -v
在我使用之前:

-g -std=c++11 -Wall -pedantic -msse -mmmx -msse2 -msse4.1 -v -mavx2

我在我的makefile中使用了以下代码:CXX=clang++cxflags=-Wall-v-g-std=c++11-Wall-pedantic-msse-mmmx-msse2-msse4.1-v-mavx2仍然没有?在这里放一些代码。