问题描述
我正在使用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 (将#修改为@)