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