error LNK2019: 无法解析的外部符号 “int __stdcall SetWindowSkin(struct HWND__ *,wchar_t const *)” (?SetWindowSkin@@YGHPAUHWND__@@PB_W@Z)

发布于 2020-05-05  47 次阅读


问题描述:

1>正在链接…

1>Skin.obj : error LNK2019: 无法解析的外部符号 “int __stdcall SetWindowSkin(struct HWND__ *,wchar_t const *)” (?SetWindowSkin@@YGHPAUHWND__@@PB_W@Z),该符号在函数 “public: virtual int __thiscall CSkinApp::InitInstance(void)” (?

InitInstance@CSkinApp@@UAEHXZ) 中被引用

1>Skin.obj : error LNK2019: 无法解析的外部符号 “int __stdcall SetDialogSkin(wchar_t const *)” (?SetDialogSkin@@YGHPB_W@Z),该符号在函数 “public: virtual int __thiscall CSkinApp::InitInstance(void)” (?InitInstance@CSkinApp@@UAEHXZ) 中被引用

1>Skin.obj : error LNK2019: 无法解析的外部符号 “int __stdcall LoadSkinFile(wchar_t const *)” (?LoadSkinFile@@YGHPB_W@Z),该符号在函数 “public: virtual int __thiscall CSkinApp::InitInstance(void)” (?InitInstance@CSkinApp@@UAEHXZ) 中被引用

1>Skin.obj : error LNK2019: 无法解析的外部符号 “int __stdcall InitSkinMagicLib(struct HINSTANCE__ *,wchar_t const *,wchar_t const *,wchar_t const *)” (?InitSkinMagicLib@@YGHPAUHINSTANCE__@@PB_W11@Z),该符号在函数 “public: virtual int

__thiscall CSkinApp::InitInstance(void)” (?InitInstance@CSkinApp@@UAEHXZ) 中被引用

1>C:Documents and SettingsAdministrator桌面SkinDebugSkin.exe : fatal error LNK1120: 4 个无法解析的外部命令

1>生成日志保存在“file://c:Documents and SettingsAdministrator桌面SkinSkinDebugBuildLog.htm”

1>Skin – 5 个错误,0 个警告

========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

#pragma comment(lib,”SkinMagicTrial.lib”)

这个在stdafx.h已经加入了

 

解决方法:

把Unicode 设成未设置就可以了

说明链接的那个Lib是使用多字节或者“未设置”方式编译的,当前程序选择unicode编译的时候,对应的函数是不一样的。比如CString,在unicode模式下可能被映射为CStingW了


一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。