使用cmake进行编译时mmintrin.h编译器错误

问题描述

我正在使用cmake在Linux中编译crypto ++代码。但是我在mmintrin.h,xmmintrin.h,emmintrin.h和几乎所有以intrin.h结尾的文件中都得到了错误

    /usr/lib/gcc/x86_64-linux-gnu/5/include/mmintrin.h: In function ‘__m64 _mm_cvtsi32_si64(int)’:
/usr/lib/gcc/x86_64-linux-gnu/5/include/mmintrin.h:64:54: error: can’t convert between vector values of different size
   return (__m64) __builtin_ia32_vec_init_v2si (__i,0);
                                                      ^
/usr/lib/gcc/x86_64-linux-gnu/5/include/mmintrin.h: In function ‘int _mm_cvtsi64_si32(__m64)’:
/usr/lib/gcc/x86_64-linux-gnu/5/include/mmintrin.h:107:53: error: cannot convert ‘__m64 {aka int}’ to ‘__vector(2) int’ for argument ‘1’ to ‘int __builtin_ia32_vec_ext_v2si(__vector(2) int,int)’
   return __builtin_ia32_vec_ext_v2si ((__v2si)__i,0);
                                                     ^
/usr/lib/gcc/x86_64-linux-gnu/5/include/mmintrin.h: In function ‘__m64 _mm_packs_pi16(__m64,__m64)’:
/usr/lib/gcc/x86_64-linux-gnu/5/include/mmintrin.h:146:69: error: cannot convert ‘__v4hi {aka short int}’ to ‘__vector(4) short int’ for argument ‘1’ to ‘__vector(8) char __builtin_ia32_packsswb(__vector(4) short int,__vector(4) short int)’
   return (__m64) __builtin_ia32_packsswb ((__v4hi)__m1,(__v4hi)__m2);

/usr/lib/gcc/x86_64-linux-gnu/5/include/xmmintrin.h: In function ‘__m128 _mm_setzero_ps()’:
/usr/lib/gcc/x86_64-linux-gnu/5/include/xmmintrin.h:117:57: error: too many initializers for ‘__m128 {aka float}’
   return __extension__ (__m128){ 0.0f,0.0f,0.0f };
                                                         ^
/usr/lib/gcc/x86_64-linux-gnu/5/include/xmmintrin.h: In function ‘__m128 _mm_add_ss(__m128,__m128)’:
/usr/lib/gcc/x86_64-linux-gnu/5/include/xmmintrin.h:127:65: error: cannot convert ‘__m128 {aka float}’ to ‘__vector(4) float’ for argument ‘1’ to ‘__vector(4) float __builtin_ia32_addss(__vector(4) float,__vector(4) float)’
   return (__m128) __builtin_ia32_addss ((__v4sf)__A,(__v4sf)__B);
                                                                 ^
/usr/lib/gcc/x86_64-linux-gnu/5/include/xmmintrin.h: In function ‘__m128 _mm_sub_ss(__m128,__m128)’:
/usr/lib/gcc/x86_64-linux-gnu/5/include/xmmintrin.h:133:65: error: cannot convert ‘__m128 {aka float}’ to ‘__vector(4) float’ for argument ‘1’ to ‘__vector(4) float __builtin_ia32_subss(__vector(4) float,__vector(4) float)’
   return (__m128) __builtin_ia32_subss ((__v4sf)__A,(__v4sf)__B);

这些是每个intin.h标头文件中的一些错误,

调用堆栈如下:

In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:31:0,from /usr/include/x86_64-linux-gnu/c++/5/32/bits/opt_random.h:33,from /usr/include/c++/5/random:50,from /usr/include/c++/5/bits/stl_algo.h:66,from /usr/include/c++/5/algorithm:62,

我正在使用ubuntu 16.04和gcc 5.40。代码是使用cmake构建的。

我不确定错误从何而来以及如何解决。这是我第一次使用cmake。有没有要添加的配置?或任何其他要安装的文件?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...