[高分]vs2005 下开发wince的directdraw的问题

halfcady 2007-04-01 02:38:08
我用pb定制了os(加入了directdraw),然后生成了sdk,安装, 然后编译了一个wince中directdraw中的一个例子,include和library都选择了安装的sdk, release编译的没问题,debug编译出现
error LNK2019: unresolved external symbol _DirectDrawCreate referenced in function "long __cdecl InitApp(int)" (?InitApp@@YAJH@Z)

把release生成的exe放入设备中运行,黑下屏,立刻退出,也是DirectDrawCreate failed, 不知道该如何解决?希望各位大虾指点
...全文
866 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
金笛子 2008-09-23
  • 打赏
  • 举报
回复
m_pDLL=LoadLibrary(_T( "ddraw.dll "));
这个要改一下:
m_pDLL=LoadLibrary(_T( "ddraw.dll"));//后面有个空格

然后我这里就是有效句柄了

不过 我这里得到的 hr=DirectDrawCreate(NULL, &m_pDDObject, NULL) ;
却是无效的!我这里是在模拟器上弄的!
金笛子 2008-09-22
  • 打赏
  • 举报
回复
最近也在弄,学习下!
xajhuang 2008-09-22
  • 打赏
  • 举报
回复
加上库文件 ddraw.lib
feitianlee 2008-07-15
  • 打赏
  • 举报
回复
maybe the DDRAW.DLL is lost. please search and find it first. then use GetLastError() to get the error code
xqhrs232 2008-07-15
  • 打赏
  • 举报
回复
我试了楼上的方法,加载DDRAW.DLL就报无效句柄的错误,楼上真的可以吗?而不用改显示驱动?
zhsfei 2007-04-03
  • 打赏
  • 举报
回复
halfcady。这个问题我刚碰到,我已经解决。主要是DirectDrawCreate调用的问题。由

DirectDrawCreate(NULL, &m_pDDObject, NULL) ;

方式改为

HRESULT hr;
typedef LONG (*DIRECTDRAWCREATE)(LPGUID, LPDIRECTDRAW*, LPUNKNOWN *);
HINSTANCE pDD=NULL;

m_pDLL=LoadLibrary(_T("ddraw.dll"));
if(m_pDLL==NULL)
{
return FALSE;

}
else
{
DIRECTDRAWCREATE DirectDrawCreate;
DirectDrawCreate=(DIRECTDRAWCREATE)GetProcAddress(m_pDLL,
_T("DirectDrawCreate"));
hr=DirectDrawCreate(NULL, &m_pDDObject, NULL) ;
}

就可以。
不过我是在evc4+sp4上编译的,目标环境是wince5.0。相信应该可以解决你的问题

代码自己稍微修改下吧
halfcady 2007-04-02
  • 打赏
  • 举报
回复
现在的问题就是在现实设备环境中,执行程序就黑两下屏, 有人说是显示驱动的问题,不知道对不对?还是其他的问题?
halfcady 2007-04-01
  • 打赏
  • 举报
回复
还是不行,debug下还是说directdrawcreate fail
halfcady 2007-04-01
  • 打赏
  • 举报
回复
现在debug编译没问题了,其他问题正在测试=.=!

19,500

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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