error LNK2019: 無法解析的外部符號

原文出處:http://blog.csdn.net/immcss/article/details/5347183

在MFC中編譯時出現了以下錯誤:

提示爲

error LNK2019: 無法解析的外部符號 "wchar_t * __stdcall _com_util::ConvertStringToBSTR(char const *)

1。我先介紹一下,VS編譯器中的一個選項     /Zc:wchar_t(wchar_t 是本機類型)

在VC6。0中選項爲

Setting of the project in "C/C++ -> Language -> Treat wchar_t as Built-In Type" to "No" (originally it was: "Yes(/Zc:wchar_t)".

在VS2003版本以上爲

項目->配置屬性->C/C++->語言->將wchar_t設爲內置類型->是/否

如果未指定 /Zc:wchar_t,則編譯器要求您或者定義 wchar_t,或者包括定義 wchar_t 的衆多頭文件中的一個文件(例如 wchar.h)。wchar_t 通常定義爲 unsigned short

在指定 /Zc:wchar_t 編譯器選項時,類型 wchar_t 成爲映射到 __wchar_t 的本機類型,其映射方式與 short 映射到 __int16 相同。

如果使用 /Zc:wchar_t,編譯器將 wchar_t 識別爲本機類型。有關 wchar_t 的更多信息,請參見數據類型範圍。

__wchar_t 始終可用。

通過同時爲 wchar_t 的無符號短格式和 __wchar_t 變體提供重載,您可以創建能夠輕鬆通過用(或未用)/Zc:wchar_t 編譯的代碼鏈接的庫,並且無需提供該庫的兩個不同的版本(啓用和未啓用 /Zc:wchar_t 的版本)。

指定 /Zc:wchar_t 時,定義 _WCHAR_T_DEFINED 和 _NATIVE_WCHAR_T_DEFINED 符號;有關更多信息,請參見預定義宏。

有關 Visual C++ 的一致性問題的更多信息,請參見 Visual C++ 中的標準遵從性問題。

 

2。解決方法:

將這個選項設置爲"否"就能解決問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章