使用speex库出现问题,在vc6.0下,fatal error C1189: #error : "SSE instruction set no enabled"
错误说是SSE没有启用,怎么可以使编译器启用SSE呢?Compiling...
SpexxTestVc6.cpp
f:\vclian\spexxtestvc6\speex\fixed_generic.h(38) : warning C4005: 'SHR' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(96) : see previous definition of 'SHR'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(39) : warning C4005: 'SHL' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(97) : see previous definition of 'SHL'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(41) : warning C4005: 'SATURATE' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(98) : see previous definition of 'SATURATE'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(43) : warning C4005: 'ADD16' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(100) : see previous definition of 'ADD16'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(49) : warning C4005: 'PSHR' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(95) : see previous definition of 'PSHR'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(52) : warning C4005: 'MULT16_16_16' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(105) : see previous definition of 'MULT16_16_16'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(54) : warning C4005: 'MULT16_16' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(106) : see previous definition of 'MULT16_16'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(59) : warning C4005: 'MAC16_16' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(107) : see previous definition of 'MAC16_16'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(61) : warning C4005: 'MULT16_32_Q13' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(110) : see previous definition of 'MULT16_32_Q13'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(62) : warning C4005: 'MULT16_32_Q14' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(111) : see previous definition of 'MULT16_32_Q14'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(64) : warning C4005: 'MULT16_32_Q11' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(109) : see previous definition of 'MULT16_32_Q11'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(65) : warning C4005: 'MAC16_32_Q11' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(114) : see previous definition of 'MAC16_32_Q11'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(67) : warning C4005: 'MULT16_32_Q15' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(112) : see previous definition of 'MULT16_32_Q15'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(68) : warning C4005: 'MAC16_32_Q15' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(115) : see previous definition of 'MAC16_32_Q15'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(71) : warning C4005: 'MAC16_16_Q11' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(117) : see previous definition of 'MAC16_16_Q11'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(73) : warning C4005: 'MULT16_16_Q11' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(118) : see previous definition of 'MULT16_16_Q11'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(74) : warning C4005: 'MULT16_16_Q13' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(119) : see previous definition of 'MULT16_16_Q13'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(75) : warning C4005: 'MULT16_16_Q14' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(120) : see previous definition of 'MULT16_16_Q14'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(76) : warning C4005: 'MULT16_16_Q15' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(121) : see previous definition of 'MULT16_16_Q15'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(86) : warning C4005: 'DIV32_16' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(123) : see previous definition of 'DIV32_16'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(87) : warning C4005: 'DIV32' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(124) : see previous definition of 'DIV32'
f:\vclian\spexxtestvc6\speex\xmmintrin.h(34) : fatal error C1189: #error : "SSE instruction set no enabled"
错误说是SSE没有启用,怎么可以使编译器启用SSE呢?Compiling...
SpexxTestVc6.cpp
f:\vclian\spexxtestvc6\speex\fixed_generic.h(38) : warning C4005: 'SHR' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(96) : see previous definition of 'SHR'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(39) : warning C4005: 'SHL' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(97) : see previous definition of 'SHL'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(41) : warning C4005: 'SATURATE' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(98) : see previous definition of 'SATURATE'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(43) : warning C4005: 'ADD16' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(100) : see previous definition of 'ADD16'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(49) : warning C4005: 'PSHR' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(95) : see previous definition of 'PSHR'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(52) : warning C4005: 'MULT16_16_16' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(105) : see previous definition of 'MULT16_16_16'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(54) : warning C4005: 'MULT16_16' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(106) : see previous definition of 'MULT16_16'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(59) : warning C4005: 'MAC16_16' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(107) : see previous definition of 'MAC16_16'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(61) : warning C4005: 'MULT16_32_Q13' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(110) : see previous definition of 'MULT16_32_Q13'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(62) : warning C4005: 'MULT16_32_Q14' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(111) : see previous definition of 'MULT16_32_Q14'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(64) : warning C4005: 'MULT16_32_Q11' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(109) : see previous definition of 'MULT16_32_Q11'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(65) : warning C4005: 'MAC16_32_Q11' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(114) : see previous definition of 'MAC16_32_Q11'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(67) : warning C4005: 'MULT16_32_Q15' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(112) : see previous definition of 'MULT16_32_Q15'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(68) : warning C4005: 'MAC16_32_Q15' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(115) : see previous definition of 'MAC16_32_Q15'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(71) : warning C4005: 'MAC16_16_Q11' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(117) : see previous definition of 'MAC16_16_Q11'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(73) : warning C4005: 'MULT16_16_Q11' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(118) : see previous definition of 'MULT16_16_Q11'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(74) : warning C4005: 'MULT16_16_Q13' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(119) : see previous definition of 'MULT16_16_Q13'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(75) : warning C4005: 'MULT16_16_Q14' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(120) : see previous definition of 'MULT16_16_Q14'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(76) : warning C4005: 'MULT16_16_Q15' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(121) : see previous definition of 'MULT16_16_Q15'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(86) : warning C4005: 'DIV32_16' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(123) : see previous definition of 'DIV32_16'
f:\vclian\spexxtestvc6\speex\fixed_generic.h(87) : warning C4005: 'DIV32' : macro redefinition
f:\vclian\spexxtestvc6\speex\arch.h(124) : see previous definition of 'DIV32'
f:\vclian\spexxtestvc6\speex\xmmintrin.h(34) : fatal error C1189: #error : "SSE instruction set no enabled"
然后定义就好了
#ifndef __SSE__t
#define __SSE__t
#endif
结果好多错误:使用的是静态库和.h.F:\vclian\SPeex语音压缩算法静态库vs2008\libspeex\mm_malloc.h(75) : error C2491: “_aligned_free”: 不允许 dllimport 函数 的定义
1>f:\vclian\speexvs2008\libspeex\xmmintrin.h(44) : error C2146: 语法错误 : 缺少“;”(在标识符“__attribute__”的前面)
1>f:\vclian\speexvs2008\libspeex\xmmintrin.h(44) : error C3861: “__vector_size__”: 找不到标识符
1>f:\vclian\speexvs2008\libspeex\xmmintrin.h(44) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
C3861: “__builtin_ia32_sqrtps”: 找不到标识符
1>f:\vclian\speexvs2008\libspeex\xmmintrin.h(186) : error C2065: “__always_inline__”: 未声明的标识符
1>f:\vclian\speexvs2008\libspeex\xmmintrin.h(187) : error C2433: “__attribute__”: 不允许在数据声明中使用“inline”
1>f:\vclian\speexvs2008\libspeex\xmmintrin.h(187) : error C2371: “__attribute__”: 重定义;不同的基类型
1> f:\vclian\speexvs2008\libspeex\xmmintrin.h(44) : 参见“__attribute__”的声明
1>f:\vclian\speexvs2008\libspeex\xmmintrin.h(187) : error C2146: 语法错误 : 缺少“;”(在标识符“_mm_rcp_ps”的前面)
1>f:\vclian\speexvs2008\libspeex\xmmintrin.h(188) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
不允许在数据声明中使用“inline”
1>f:\vclian\speexvs2008\libspeex\xmmintrin.h(205) : fatal error C1003: 错误计数超过 100;正在停止编译