我在我的一个函数中使用了Windows函数SendMessage。
如果我用MinGW编译,一切都很好。
如果我使用MSVC2013编译,我收到此链接错误
myClass.obj:-1: error: LNK2019: unresolved external symbol __imp__SendMessageW@16 referenced in function "private: virtual void __thiscall ...
为什么?
答案 0 :(得分:4)
你可以这样做:
#ifdef _MSC_VER
#pragma comment(lib, "user32.lib")
#endif
答案 1 :(得分:3)
默认情况下,Visual C ++仅在kernel32.dll
中链接。
g ++还链接了许多其他DLL(Windows API子库)。具体取决于选项。
来自specs
文件与MinGW g ++ 4.9.1的Nuwen发行版的相关行:
%{pg:-lgmon} %{pthread:-lpthread} %{!no-pthread: } %{mwindows:-lgdi32 -lcomdlg32} -ladvapi32 -lshell32 -luser32 -lkernel32