can’t convert between vector values of different size return (__m64) __builtin_ia32_vec_init_v2si

在使用CMake编译时遇到大量错误,提示'can’t convert between vector values of different size'。错误出现在内置的mmintrin.h头文件中。通过两种方法解决了该问题:1. 将编译选项--std=c++11改为--std=gnu++11;2. 添加-U__STRICT_ANSI__宏定义。这两种方法均能成功编译项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在cmake编译的时候,发现报大量的错误:

can’t convert between vector values of different size return (__m64) __builtin_ia32_vec_init_v2si (__i0, __i1);
                                                          ^
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/mmintrin.h: 在函数‘__m64 _mm_set_pi16(short int, short int, short int, short int)’中:
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/mmintrin.h:866:70: 错误:can’t convert between vector values of different size
   return (__m64) __builtin_ia32_vec_init_v4hi (__w0, __w1, __w2, __w3);
                                                                      ^
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/mmintrin.h: 在函数‘__m64 _mm_set_pi8(char, char, char, char, char, char, char, char)’中:
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/mmintrin.h:875:35: 错误:can’t convert between vector values of different size
             __b4, __b5, __b6, __b7);

使用的是编译选项࿱

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值