vc6的工程转换到vs2010,出现"语法异常 : 缺少';'(在'常量'的前面)"
vc6的工程转换到vs2010,出现"语法错误 : 缺少';'(在'常量'的前面)"
vc6的工程转换到vs2010,出现"语法错误 : 缺少';'(在'常量'的前面)"。编译报100多个错误,错误类型基本一样。出错的文件是系统的头文件,smmintrin.h和intrin.h。
怎么解决呀?
(发帖时不知道选哪个小论坛了,随便选了一个)
部分报错的行:
__MACHINEX86X_X64(__m128 _mm_round_ss(__m128 dst, __m128 val, int iRoundMode))
__MACHINEX86X_X64(__m128i _mm_cvtepi8_epi32 (__m128i byteValues))
__MACHINEX86X_X64(__m128i _mm_cvtepi16_epi32(__m128i shortValues))
编译报错的信息:
113 IntelliSense: 应输入“)” c:\program files\microsoft visual studio 10.0
\vc\include\smmintrin.h 184 58
114 IntelliSense: 应输入“)” c:\program files\microsoft visual studio 10.0
\vc\include\smmintrin.h 185 58
115 IntelliSense: 应输入“)” c:\program files\microsoft visual studio 10.0
\vc\include\intrin.h 892 1
116 IntelliSense: 应输入“)” c:\program files\microsoft visual studio 10.0
\vc\include\intrin.h 893 1
错误 2 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 184 1 MaEdit2
错误 6 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 185 1
MaEdit2files\microsoft visual studio 10.0\vc\include\intrin.h 893 1 MaEdit2
错误 76 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 185 1 MaEdit2
错误 90 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 185 1 MaEdit2
错误 94 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\intrin.h 892 1 MaEdit2
错误 97 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\intrin.h 893 1 MaEdit2
错误 100 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 184 1 MaEdit2
错误 104 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 185 1 MaEdit2
错误 108 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\intrin.h 892 1 MaEdit2
错误 111 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\intrin.h 893 1 MaEdit2
错误 1 error C2143: 语法错误 : 缺少“)”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 184 1 MaEdit2
错误 5 error C2143: 语法错误 : 缺少“)”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 185 1 MaEdit2
错误 29 error C2143: 语法错误 : 缺少“)”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 184 1 MaEdit2
错误 33 error C2143: 语法错误 : 缺少“)”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 185 1 MaEdit2
错误 37 error C2143: 语法错误 : 缺少“)”(在“常量”的前面) c:\program
------解决方案--------------------
看看对C2143的解释
vc6的工程转换到vs2010,出现"语法错误 : 缺少';'(在'常量'的前面)"。编译报100多个错误,错误类型基本一样。出错的文件是系统的头文件,smmintrin.h和intrin.h。
怎么解决呀?
(发帖时不知道选哪个小论坛了,随便选了一个)
部分报错的行:
__MACHINEX86X_X64(__m128 _mm_round_ss(__m128 dst, __m128 val, int iRoundMode))
__MACHINEX86X_X64(__m128i _mm_cvtepi8_epi32 (__m128i byteValues))
__MACHINEX86X_X64(__m128i _mm_cvtepi16_epi32(__m128i shortValues))
编译报错的信息:
113 IntelliSense: 应输入“)” c:\program files\microsoft visual studio 10.0
\vc\include\smmintrin.h 184 58
114 IntelliSense: 应输入“)” c:\program files\microsoft visual studio 10.0
\vc\include\smmintrin.h 185 58
115 IntelliSense: 应输入“)” c:\program files\microsoft visual studio 10.0
\vc\include\intrin.h 892 1
116 IntelliSense: 应输入“)” c:\program files\microsoft visual studio 10.0
\vc\include\intrin.h 893 1
错误 2 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 184 1 MaEdit2
错误 6 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 185 1
MaEdit2files\microsoft visual studio 10.0\vc\include\intrin.h 893 1 MaEdit2
错误 76 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 185 1 MaEdit2
错误 90 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 185 1 MaEdit2
错误 94 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\intrin.h 892 1 MaEdit2
错误 97 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\intrin.h 893 1 MaEdit2
错误 100 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 184 1 MaEdit2
错误 104 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 185 1 MaEdit2
错误 108 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\intrin.h 892 1 MaEdit2
错误 111 error C2143: 语法错误 : 缺少“;”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\intrin.h 893 1 MaEdit2
错误 1 error C2143: 语法错误 : 缺少“)”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 184 1 MaEdit2
错误 5 error C2143: 语法错误 : 缺少“)”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 185 1 MaEdit2
错误 29 error C2143: 语法错误 : 缺少“)”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 184 1 MaEdit2
错误 33 error C2143: 语法错误 : 缺少“)”(在“常量”的前面) c:\program
files\microsoft visual studio 10.0\vc\include\smmintrin.h 185 1 MaEdit2
错误 37 error C2143: 语法错误 : 缺少“)”(在“常量”的前面) c:\program
------解决方案--------------------
看看对C2143的解释
- C/C++ code
错误消息 语法错误 : “token2”前缺少“token1” 编译器需要特定的标记(空白以外的语言元素),但发现另一个标记。 C2143 可能在不同情况下发生。 有关使用函数 Try 块时出现的该错误的信息,请参见知识库文章 Q241706。 检查 C++ 语言参考以确定语法不正确的代码位置。由于编译器可能在导致问题的行后面报告该错误,因此请检查该错误前面的几个代码行。 使用 /clr 并且 using 指令有语法错误时: 复制代码 // C2143a.cpp // compile with: /clr /c using namespace System.Reflection; // C2143 using namespace System::Reflection; 在不使用 /clr 的情况下,通过 CLR 语法来编译源代码文件时: 复制代码 // C2143b.cpp ref struct A { // C2143 error compile with /clr void Test() {} }; int main() { A a; a.Test(); } 跟在 if 语句后的第一个非空白字符应是左括号。编译器无法翻译任何其他内容: 复制代码 // C2143c.cpp int main() { int j = 0; // OK if (j < 25) ; if (j < 25) // C2143 } 在检测到错误的行上或该行上面的几行中缺少右大括号、圆括号或分号: 复制代码 // C2143d.cpp // compile with: /c class X { int member1; int member2 // C2143 } x; 类声明中的标记无效: 复制代码 // C2143e.cpp class X { int member; } x; class + {}; // C2143 + is an invalid tag name class ValidName {}; // OK 标签未附加到语句。如果必须单独放置标签(如放置在复合语句的末尾),则将其附加到 null 语句中: 复制代码 // C2143f.cpp // compile with: /c void func1() { // OK end1: ; end2: // C2143 } 对标准 C++ 库中的类型进行非限定调用: 复制代码 // C2143g.cpp // compile with: /EHsc /c #include <vector> static vector<char> bad; // C2143 static std::vector<char> good; // OK 缺少 typename 关键字: 复制代码 // C2143h.cpp template <typename T> struct X { struct Y { int i; }; Y memFunc(); }; template <typename T> X<T>::Y X<T>::memFunc() { // C2143 // try the following line instead // typename X<T>::Y X<T>::memFunc() { return Y(); } 尝试定义显式实例化: 复制代码 // C2143i.cpp // compile with: /EHsc /c // template definition template <class T> void PrintType(T i, T j) {} template void PrintType(float i, float j){} // C2143 template void PrintType(float i, float j); // OK