2012-03-07 97 views
1

通過內聯方法GetAnsiStringSize()對WideCharToMultiByte的調用引用WC_NO_BEST_FIT_CHARS。WC_NO_BEST_FIT_CHARS未定義?

但上述符號是未定義的,我無法確定我應該怎麼做來定義它。谷歌搜索和MSDN未能發現任何線索,除了它是上述函數調用的標準符號之外。

回答

4

WC_NO_BEST_FIT_CHARS定義winnls.h

#if(WINVER >= 0x0500) 
#define WC_NO_BEST_FIT_CHARS  0x00000400 // do not use best fit chars 
#endif /* WINVER >= 0x0500 */ 

所以你最好檢查什麼的WINVER值是在您的應用程序/項目/解決方案

+0

就是這樣!謝謝! – 2012-03-07 19:43:16

0

#include <windows.h>是所有應該需要的。

+0

已經做到了。仍然有錯誤。 – 2012-03-07 18:04:10

0

的埃德溫·寫...其實我有非常相同的問題,一個我解決它,如下所示:

1)進入http://msdn.microsoft.com/es-es/library/aa383745.aspx並搜索適用於您的操作系統版本的價值NTDDI_VERSION。例如,對於Windows 8,我有:0x0602

2)在你的代碼類型:

#define WINVER 0x0602 

3)WC_NO_BEST_FIT_CHARS的錯誤,在我看來,因爲msclr ::互操作:: marshal_as的用法。 ...所以,最後不要忘記添加你的標頭

希望這對你們有幫助!