MFC小程序加载skin++出错

li08240418 2012-01-11 10:39:09
我用MFC写了个小小的对话框程序 想加载skin++皮肤但是报错了!!!!怎么办

我是按照说明加入的
说明如下(skin++2.1)



1、将SkinPPWTL.lib skinppwtl.dll SkinPPWTL.h三个文件及相应皮肤拷贝至工程文件夹下
2、在StdAfx.h文件中加入#include "SkinPPWTL.h"
//..
#endif // _AFX_NO_AFXCMN_SUPPORT
#include "SkinPPWTL.h" //在这个地方加

//{{AFX_INSERT_LOCATION}}
//..
3、在BOOL CXXApp::InitInstance()函数中加入:
BOOL CWwApp::InitInstance()
{
skinppLoadSkin(_T("blue.ssk"));//blue.ssk为项目下的皮肤文件
//..
}
4、如果是SDI/MDI程序,则要重载ExitInstance
int CWwApp::ExitInstance()
{
// TODO: Add your specialized code here and/or call the base class
skinppExitSkin();
return CWinApp::ExitInstance();
}



报错信息是:

连接报错:
MFC01.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) int __cdecl skinppLoadSkin(char *,int)" (__imp_?skinppLoadSkin@@YAHPADH@Z)
Debug/MFC01.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Creating browse info file...


怎么回事?
还有就是说明里的第4条怎么理解?

O(∩_∩)O谢谢!
...全文
515 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
misha13 2014-02-07
  • 打赏
  • 举报
回复
我也是按照步骤来的啊···可是现在也报错了。。。还是头文件···

请问这是缺少什么吗···
八净 2013-09-29
  • 打赏
  • 举报
回复
把skinppLoadSkin(_T("blue.ssk"));改为skinppLoadSkin("blue.ssk"); 如果还报错的话进去skinppLoadSkin的定义里把第一个参数从TCHAR改为CHAR就行了
  • 打赏
  • 举报
回复
引用 14 楼 cullionboy 的回复:
我也是按照说明一步步弄的,出现以下报错: error C2065: 'skinppLoadSkin' : undeclared identifier 求高手指教。
请问现在你知道这个该怎么办吗
LazyDunk 2013-04-27
  • 打赏
  • 举报
回复
我也是按照说明一步步弄的,出现以下报错: error C2065: 'skinppLoadSkin' : undeclared identifier 求高手指教。
QunKangLi 2013-04-24
  • 打赏
  • 举报
回复
将字符集修改为No set 似乎是因为对UNICODE的支持不大好。
tangyichen 2013-03-22
  • 打赏
  • 举报
回复
VC6.0,遇到同样问题,在添加链接库时加上双引号解决了,希望能有帮助
yangxing1209 2012-05-26
  • 打赏
  • 举报
回复
我在vs2010下建立的mfc多文档工程却是报这样的错:
>sky.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) int __cdecl skinppLoadSkin(wchar_t *,int)" (__imp_?skinppLoadSkin@@YAHPA_WH@Z),该符号在函数 "public: void __thiscall CskyApp::SetSkin(class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >)" (?SetSkin@CskyApp@@QAEXV?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z) 中被引用
1>D:\asm\sky\Debug\sky.exe : fatal error LNK1120: 1 个无法解析的外部命令,请问是怎么回事?
tianzhu_1 2012-05-08
  • 打赏
  • 举报
回复
少了一个链接库:#pragma comment(lib,"SkinPPWTL.lib")
tianzhu_1 2012-05-08
  • 打赏
  • 举报
回复
少了一个链接库:#pragma comment(lib,"SkinPPWTL.lib")
li08240418 2012-01-11
  • 打赏
  • 举报
回复
我知道错哪了 恩 谢谢各位帮助啊
lusedeya6 2012-01-11
  • 打赏
  • 举报
回复
我是把头文件放在CXXXAPP.中 ,其他的我也不知道 我只用过一次
li08240418 2012-01-11
  • 打赏
  • 举报
回复
我都是按照 说明来操作的啊 怎么连接报错了呢
li08240418 2012-01-11
  • 打赏
  • 举报
回复
我放在工程文件夹下了啊
lusedeya6 2012-01-11
  • 打赏
  • 举报
回复

1.在"Project->Settings->Link->Object/library"中加入SkinPPWTL.lib ,
不需要绝对路径。直接添加到本程序文件夹中,就不需要路径。
2.在你的程序中包含头文件
#inlcude "SkinPPWTL.h"
程序所在文档中加入SkinPPWTL.dll,DameK UltraBlue.ssk或其他皮肤
3.在程序初始化语句InitInstance()中加入
skinppLoadSkin(_T("DameK UltraBlue.ssk")); //加载皮
在程序的卸载函数ExitInstance()中加入
skinppExitSkin(); //退出界面库,做清理工作。

lusedeya6 2012-01-11
  • 打赏
  • 举报
回复
看你的问题貌似是DLL的问题 你看文件放对位置了吗 dll文件
li08240418 2012-01-11
  • 打赏
  • 举报
回复
VC6怎么弄的啊 我就是VC6啊 但是报错了 求教育
lusedeya6 2012-01-11
  • 打赏
  • 举报
回复
我用的V6.0没问题,但是用VS2010就写的程序就出错 ,同疑问

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧