Win32平台上的代码可以正确编译,但是对于WinCe平台,它在调试模式下会导致很多错误。这些错误与头文件cstdio,cstring和cwchar相关。Win CE 7平台上的错误c2039和错误c2873
微软的Visual Studio 9.0 \ VC \ CE \包括\ cstdio(82):错误C2039: '_gets_instead_use_StringCbGetsA_or_StringCchGetsA':不是 '`全局命名空间'”
错误C2873成员: '_gets_instead_use_StringCbGetsA_or_StringCchGetsA':符号“sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA”::不能在使用声明
错误C2873中使用的符号不能在使用声明
CE7 \可以使用包括\ cwchar(66):错误C2873:“swprintf_instead_use_StringCbPrintfW_or_StringCchPrintfW”:符号不能使用 在使用声明
\包括\ ARMV4I \ stdlib.h中(146):错误C2065:_malloca':未声明的标识符
Thanks @Valter Minute。但似乎我正在使用C运行时库的那些函数可用于win32,但不适用于wince。我在调试模式下得到了上面提到的错误。当我更改为发布模式时,在cstdio头文件中出现以下错误。 1> c:\ Program Files \ Microsoft Visual Studio 9.0 \ VC \ ce \ include \ cstdio(64):error C2143:语法错误:在''之前缺少'{'是否必须对命名空间执行某些操作? #if _GLOBAL_USING _STD_BEGIN using :: _ Filet; – Habib
它是否也失败与UNICODE设置? –
是的,我在项目的预处理器定义中包含了UNICODE。但它没有帮助。 – Habib