静态编译的Qt库,编译提示如下报错:
1>QtCored.lib(qeventdispatcher_win.obj) : error LNK2019: 无法解析的外部符号 WSAAsyncSelect,该符号在函数 "public: void __cdecl QEventDispatcherWin32Private::doWsaAsyncSelect(int)" (?doWsaAsyncSelect@QEventDispatcherWin32Private@@QEAAXH@Z) 中被引用
1>QtGuid.lib(qaccessible_win.obj) : error LNK2019: 无法解析的外部符号 __imp_PlaySoundW,该符号在函数 "public: static void __cdecl QAccessible::updateAccessibility(class QObject *,int,enum QAccessible::Event)" (?updateAccessibility@QAccessible@@SAXPEAVQObject@@HW4Event@1@@Z) 中被引用
1>QtGuid.lib(qwininputcontext_win.obj) : error LNK2019: 无法解析的外部符号 ImmSetCandidateWindow,该符号在函数 "public: virtual void __cdecl QWinInputContext::update(void)" (?update@QWinInputContext@@UEAAXXZ) 中被引用
1>QtGuid.lib(qwininputcontext_win.obj) : error LNK2019: 无法解析的外部符号 ImmSetCompositionWindow,该符号在函数 "public: virtual void __cdecl QWinInputContext::update(void)" (?update@QWinInputContext@@UEAAXXZ) 中被引用
1>QtGuid.lib(qwininputcontext_win.obj) : error LNK2019: 无法解析的外部符号 ImmSetCompositionFontW,该符号在函数 "public: virtual void __cdecl QWinInputContext::update(void)" (?update@QWinInputContext@@UEAAXXZ) 中被引用
1>QtGuid.lib(qwininputcontext_win.obj) : error LNK2019: 无法解析的外部符号 ImmGetContext,该符号在函数 "struct HIMC__ * __cdecl getContext(struct HWND__ *)" (?getContext@@YAPEAUHIMC__@@PEAUHWND__@@@Z) 中被引用
1>QtGuid.lib(qwininputcontext_win.obj) : error LNK2019: 无法解析的外部符号 ImmReleaseContext,该符号在函数 "void __cdecl releaseContext(struct HWND__ *,struct HIMC__ *)" (?releaseContext@@YAXPEAUHWND__@@PEAUHIMC__@@@Z) 中被引用
1>QtGuid.lib(qwininputcontext_win.obj) : error LNK2019: 无法解析的外部符号 ImmNotifyIME,该符号在函数 "void __cdecl notifyIME(struct HIMC__ *,unsigned long,unsigned long,unsigned long)" (?notifyIME@@YAXPEAUHIMC__@@KKK@Z) 中被引用
1>QtGuid.lib(qwininputcontext_win.obj) : error LNK2019: 无法解析的外部符号 ImmGetCompositionStringW,该符号在函数 "long __cdecl getCompositionString(struct HIMC__ *,unsigned long,void *,unsigned long)" (?getCompositionString@@YAJPEAUHIMC__@@KPEAXK@Z) 中被引用
1>QtGuid.lib(qwininputcontext_win.obj) : error LNK2019: 无法解析的外部符号 ImmAssociateContext,该符号在函数 "void __cdecl enableIme(class QWidget *,bool)" (?enableIme@@YAXPEAVQWidget@@_N@Z) 中被引用
1>QtGuid.lib(qwininputcontext_win.obj) : error LNK2019: 无法解析的外部符号 ImmGetDefaultIMEWnd,该符号在函数 "struct HWND__ * __cdecl getDefaultIMEWnd(struct HWND__ *)" (?getDefaultIMEWnd@@YAPEAUHWND__@@PEAU1@@Z) 中被引用
1>c:\users\administrator\documents\visual studio 2010\Projects\QtTest\x64\Debug\\QtTest.exe : fatal error LNK1120: 11 个无法解析的外部命令
解决办法:
链接器加入如下三个库即可解决。
imm32.lib
winmm.lib
Ws2_32.lib