目前正基于WinCE6.0,用Visual Studio 2005开发MFC智能设备应用程序。解决方案中有子项目是Win32智能设备项目DLL具备MFC与ALT选项的。
在Mini2451-CE-SDK(ARMV4I)平台中,这个新建的子项目除了向导生成的代码外,没有添加任何内容,却始终无法编译成功,错误有几百个。这些错误类似于:
1>e:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\include\xiosbase(198) : error C2470: 'ios_base' : looks like a function definition, but there is no parameter list; skipping apparent body1>e:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\include\streambuf(44) : error C2143: syntax error : missing ';' before '~'1> e:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\include\streambuf(442) : see reference to class template instantiation 'std::basic_streambuf<_Elem,_Traits>' being compiled1>e:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\include\streambuf(44) : error C2433: 'std::basic_streambuf<_Elem,_Traits>::__CLR_OR_THIS_CALL' : 'virtual' not permitted on data declarations1>e:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\include\streambuf(44) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int1>e:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\include\streambuf(55) : error C2653: 'ios_base' : is not a class or namespace name1>e:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\include\streambuf(55) : error C2061: syntax error : identifier 'seekdir'... ...1> e:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\include\xlocnum(198) : see declaration of 'std::numpunct<_Elem>::__CLR_OR_THIS_CALL'1>e:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\include\xlocnum(219) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int1>e:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\include\xlocnum(221) : warning C4183: 'truename': missing return type; assumed to be a member function returning 'int'1>e:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\include\xlocnum(223) : error C2146: syntax error : missing ';' before identifier 'numpunct'1>e:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\include\xlocnum(223) : error C2071: 'std::numpunct<_Elem>::__CLR_OR_THIS_CALL' : illegal storage class1>e:\Program Files (x86)\Microsoft Visual Studio 8\VC\ce\include\xlocnum(223) : fatal error C1003: error count exceeds 100; stopping compilation
而同样新建解决方案在Mini2440-CE-SDK(ARMV4I)平台上,就能成功生成.dll与.exe文件。 因为是初学,很多地方不太明白。不知道这两个SDK有什么区别?都是从光盘中安装的。不知道有没有大神遇到类似的问题,是否可以提示一下从什么地方排查问题。 非常感谢! 相关解决方案附上,YGctrl51是基于2451的,而YKctrl40是基于2440的。