我给原来的窗口程序加皮肤,对这个程序添加下面的操作:
1:将 SkinMagic 包中的 SkinMagicLib.h、SkinMagicLib.lib、DETOURS.lib 从示例工程./res 中,点击Project->Add To Project->Files,包含到工程中。
2:在对应的头文件中加入 #include "SkinMagicLib.h" 。
3:在对应的源文件内添加SkinMagic皮肤加载的代码。但连接时出现了下面的问题:SkinMagicLib.lib(SkinData.obj) : error LNK2019: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ) ,该符号在函数 "public: class std::_Tree<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class CSkinData *>,struct std::map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class CSkinData *,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<class CSkinData *> >::_Kfn,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<class CSkinData *> >::iterator __thiscall std::_Tree<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class CSkinData *>,struct std::map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class CSkinData *,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<class CSkinData *> >::_Kfn,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<class CSkinData *> >::erase(class std::_Tree<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class CSkinData *>,struct std::map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class CSkinData *,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<class CSkinData *> >::_Kfn,struct std::less<class std::basic_string<char,
truct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<class CSkinData *> >::iterator)" (?erase@?$_Tree@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVCSkinData@@@2@U_Kfn@?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVCSkinData@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@PAVCSkinData@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@PAVCSkinData@@@2@@std@@QAE?AViterator@12@V312@@Z) 中被引用
SkinMagicLib.lib(SkinStatusBar.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ)
SkinMagicLib.lib(SkinMenuBar.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ)
SkinMagicLib.lib(SkinWndMap.obj) : error LNK2019: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ) ,该符号在函数 "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)" (?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z) 中被引用
SkinMagicLib.lib(SkinWnd.obj) : error LNK2019: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ) ,该符号在函数 "public: class CSkinControl * __thiscall CSkinWnd::CreateControlByType(int)" (?CreateControlByType@CSkinWnd@@QAEPAVCSkinControl@@H@Z) 中被引用
SkinMagicLib.lib(SkinPopupMenuWnd.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ)
SkinMagicLib.lib(SkinDataMan.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ)
SkinMagicLib.lib(SkinMenuBar.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)
SkinMagicLib.lib(SkinData.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)
SkinMagicLib.lib(SkinStatusBar.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)
SkinMagicLib.lib(PopupMenu.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)
SkinMagicLib.lib(PopupMenuItem.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)
SkinMagicLib.lib(SkinWndMap.obj) : error LNK2019: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ) ,该符号在函数 "private: bool __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Grow(unsigned int,bool)" (?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z) 中被引用
SkinMagicLib.lib(SkinWnd.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)
SkinMagicLib.lib(SkinPopupMenuWnd.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)
SkinMagicLib.lib(SkinDataMan.obj) : error LNK2019: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ) ,该符号在函数 "public: int __thiscall CSkinDataMan::AddImage(class CImageSkinData *)" (?AddImage@CSkinDataMan@@QAEHPAVCImageSkinData@@@Z) 中被引用
SkinMagicLib.lib(coolsblib.obj) : error LNK2019: 无法解析的外部符号 __imp__InitCommonControlsEx@4 ,该符号在函数 _InitializeCoolSB@4 中被引用
SkinMagicLib.lib(SkinToolBar.obj) : error LNK2019: 无法解析的外部符号 __imp__ImageList_GetIcon@12 ,该符号在函数 "protected: void __thiscall CSkinToolBar::DrawButton(struct HDC__ *,int,int)" (?DrawButton@CSkinToolBar@@IAEXPAUHDC__@@HH@Z) 中被引用
SkinMagicLib.lib(SkinToolBar.obj) : error LNK2019: 无法解析的外部符号 __imp__ImageList_Draw@24 ,该符号在函数 "protected: void __thiscall CSkinToolBar::DrawButton(struct HDC__ *,int,int)" (?DrawButton@CSkinToolBar@@IAEXPAUHDC__@@HH@Z) 中被引用
SkinMagicLib.lib(SkinToolBar.obj) : error LNK2019: 无法解析的外部符号 __imp__ImageList_GetIconSize@12 ,该符号在函数 "protected: void __thiscall CSkinToolBar::DrawButton(struct HDC__ *,int,int)" (?DrawButton@CSkinToolBar@@IAEXPAUHDC__@@HH@Z) 中被引用
SkinMagicLib.lib(SkinControl.obj) : error LNK2019: 无法解析的外部符号 __imp___TrackMouseEvent@4 ,该符号在函数 "protected: void __thiscall CSkinControl::SetMouseTrack(void)" (?SetMouseTrack@CSkinControl@@IAEXXZ) 中被引用
Debug/Client.exe : fatal error LNK1120: 7 个无法解析的外部命令
1:将 SkinMagic 包中的 SkinMagicLib.h、SkinMagicLib.lib、DETOURS.lib 从示例工程./res 中,点击Project->Add To Project->Files,包含到工程中。
2:在对应的头文件中加入 #include "SkinMagicLib.h" 。
3:在对应的源文件内添加SkinMagic皮肤加载的代码。但连接时出现了下面的问题:SkinMagicLib.lib(SkinData.obj) : error LNK2019: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ) ,该符号在函数 "public: class std::_Tree<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class CSkinData *>,struct std::map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class CSkinData *,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<class CSkinData *> >::_Kfn,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<class CSkinData *> >::iterator __thiscall std::_Tree<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class CSkinData *>,struct std::map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class CSkinData *,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<class CSkinData *> >::_Kfn,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<class CSkinData *> >::erase(class std::_Tree<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class CSkinData *>,struct std::map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class CSkinData *,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<class CSkinData *> >::_Kfn,struct std::less<class std::basic_string<char,
truct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<class CSkinData *> >::iterator)" (?erase@?$_Tree@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVCSkinData@@@2@U_Kfn@?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVCSkinData@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@PAVCSkinData@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@PAVCSkinData@@@2@@std@@QAE?AViterator@12@V312@@Z) 中被引用
SkinMagicLib.lib(SkinStatusBar.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ)
SkinMagicLib.lib(SkinMenuBar.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ)
SkinMagicLib.lib(SkinWndMap.obj) : error LNK2019: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ) ,该符号在函数 "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)" (?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z) 中被引用
SkinMagicLib.lib(SkinWnd.obj) : error LNK2019: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ) ,该符号在函数 "public: class CSkinControl * __thiscall CSkinWnd::CreateControlByType(int)" (?CreateControlByType@CSkinWnd@@QAEPAVCSkinControl@@H@Z) 中被引用
SkinMagicLib.lib(SkinPopupMenuWnd.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ)
SkinMagicLib.lib(SkinDataMan.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ)
SkinMagicLib.lib(SkinMenuBar.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)
SkinMagicLib.lib(SkinData.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)
SkinMagicLib.lib(SkinStatusBar.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)
SkinMagicLib.lib(PopupMenu.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)
SkinMagicLib.lib(PopupMenuItem.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)
SkinMagicLib.lib(SkinWndMap.obj) : error LNK2019: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ) ,该符号在函数 "private: bool __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Grow(unsigned int,bool)" (?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z) 中被引用
SkinMagicLib.lib(SkinWnd.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)
SkinMagicLib.lib(SkinPopupMenuWnd.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)
SkinMagicLib.lib(SkinDataMan.obj) : error LNK2019: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ) ,该符号在函数 "public: int __thiscall CSkinDataMan::AddImage(class CImageSkinData *)" (?AddImage@CSkinDataMan@@QAEHPAVCImageSkinData@@@Z) 中被引用
SkinMagicLib.lib(coolsblib.obj) : error LNK2019: 无法解析的外部符号 __imp__InitCommonControlsEx@4 ,该符号在函数 _InitializeCoolSB@4 中被引用
SkinMagicLib.lib(SkinToolBar.obj) : error LNK2019: 无法解析的外部符号 __imp__ImageList_GetIcon@12 ,该符号在函数 "protected: void __thiscall CSkinToolBar::DrawButton(struct HDC__ *,int,int)" (?DrawButton@CSkinToolBar@@IAEXPAUHDC__@@HH@Z) 中被引用
SkinMagicLib.lib(SkinToolBar.obj) : error LNK2019: 无法解析的外部符号 __imp__ImageList_Draw@24 ,该符号在函数 "protected: void __thiscall CSkinToolBar::DrawButton(struct HDC__ *,int,int)" (?DrawButton@CSkinToolBar@@IAEXPAUHDC__@@HH@Z) 中被引用
SkinMagicLib.lib(SkinToolBar.obj) : error LNK2019: 无法解析的外部符号 __imp__ImageList_GetIconSize@12 ,该符号在函数 "protected: void __thiscall CSkinToolBar::DrawButton(struct HDC__ *,int,int)" (?DrawButton@CSkinToolBar@@IAEXPAUHDC__@@HH@Z) 中被引用
SkinMagicLib.lib(SkinControl.obj) : error LNK2019: 无法解析的外部符号 __imp___TrackMouseEvent@4 ,该符号在函数 "protected: void __thiscall CSkinControl::SetMouseTrack(void)" (?SetMouseTrack@CSkinControl@@IAEXXZ) 中被引用
Debug/Client.exe : fatal error LNK1120: 7 个无法解析的外部命令
解决方案 »
- 文件保存路径奇怪的问题
- 如何接收select count返回值
- 100分求助那儿有像IDE里编辑源代码那样在输入时出现下拉选择框?
- VC中工具条的格式(CBRS_GRIPPER )
- 不明白,硬是不明白!
- 讨论:server端编程问题
- 动态加载上千个DLL会影响程序的性能吗?
- (100分)如何在自己的程序中以不同方式打开文件?
- 求救!我如何在win2000professional下装VS.net??
- 为什么序列化时要动态生成(Dynamic create)?
- 标题栏重绘 模拟实现按钮时 如何实现按钮那样在 左键按下后拖动时 不拖动窗口
- 关于回调函数中参数传递的问题,多个同时执行的相同回调函数怎么传递不同的参数内容?
-----------------------------------------------------------------------
我是直接把SkinMagicLib.h、SkinMagicLib.lib、DETOURS.lib 复制到工程目录下面, 然后在所需的cpp文件中添加#include "SkinMagicLib.h",并在工程的链接设置里面添加包含库文件SkinMagicLib.lib、DETOURS.lib 当然也可以用
#pragma comment(lib, "SkinMagicLib.lib")
#pragma comment(lib, "DETOURS.lib")
来搞掂
按照http://www.vckbase.com/document/viewdoc/?id=1024这上面的做
Link -> Object/library modules: comctl32.lib
另外居然有些皮肤不能显示来着。