gychina
驱动牛犊
驱动牛犊
  • 注册日期2004-03-16
  • 最后登录2005-02-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1833回复:13

请问哪位高手能指点指点(关于DDRAW)?

楼主#
更多 发布于:2005-02-03 16:15
我用winCE自带的一个directDraw例程,在EVC中建立一个空的工程,把这个例程拷贝添加进去,又在option-directory设定了directX的SDK的包含和库路径,也连接了ddraw.lib等库,compile可以,但built不成功。

连接 错误是:
lnk2001:unresolved external symbol _IID_Iunknown

我用的是winCE4.2的DDEX1例子,EVC4.0

这个连接错误是针对DirectDrawCreate函数的

请问哪位高手能指点指点? 多谢!
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-02-03 16:28
把ddraw.def也包含进去,具体怎么加看看类似的sources文件,好像是:DEFFILE=XXX.def
根据地的兄弟们,团结就是力量
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-02-04 08:42
你看看DirectDrawCreate都调用的了什么东东?_IID_Iunknown这个是什么东西?看看是不是还有相应的头文件和库文件没有包含进来?

wxl_50685330 大哥哪天回去?搞到票了吗?


[编辑 -  2/4/05 by  wwei_wang]
Come on, let us drive the world.
no.killer
驱动牛犊
驱动牛犊
  • 注册日期2003-11-08
  • 最后登录2014-08-13
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望105点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-02-04 09:16
LPDIRECTDRAW4               g_pDD = NULL;        // DirectDraw object
LPDIRECTDRAWSURFACE4        g_pDDSPrimary = NULL;// DirectDraw primary surface
LPDIRECTDRAWSURFACE4        g_pDDSBack = NULL;   // DirectDraw back surface
LPDIRECTDRAWSURFACE4        g_pDDSOne = NULL;    // Offscreen surface 1

DDSURFACEDESC2              ddsd;
DDSCAPS2                    ddscaps;
HRESULT                     hRet;
LPDIRECTDRAW                pDD;

    hRet = DirectDrawCreate(NULL, &pDD, NULL);
if(hRet != DD_OK)
{
MessageBox(_T("f"));
}
    // Fetch DirectDraw4 interface and release IDirectDraw.
    hRet = pDD->QueryInterface(IID_IDirectDraw4, (LPVOID *) & g_pDD);
     if(hRet != DD_OK)
{
MessageBox(_T("e"));
}
    // Get exclusive mode
    hRet = g_pDD->SetCooperativeLevel(m_hWnd,DDSCL_NORMAL/*DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN | DDSCL_ALLOWREBOOT/*DDSCL_NORMAL*/);
if(hRet != DD_OK)
{
MessageBox(_T("d"));
}
    memset(&ddsd, 0, sizeof(ddsd));
    ddsd.dwSize = sizeof(ddsd);
    ddsd.dwFlags = DDSD_CAPS;
    ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;

   // ddsd.dwBackBufferCount = 1;

    hRet = g_pDD->CreateSurface(&ddsd, &g_pDDSPrimary, NULL);
   if(hRet != DD_OK)
{
MessageBox(_T("c"));
}

    ddscaps.dwCaps = DDSCAPS_BACKBUFFER;
  //  ddscaps.ddsCaps.dwCaps =DDSCAPS_VIDEOMEMORY | DDSCAPS_FLIP;

    hRet = g_pDDSPrimary->GetAttachedSurface(&ddscaps, &g_pDDSBack);
if(hRet != DD_OK)
{
MessageBox(_T("b"));
}

    memset(&ddsd,0,sizeof(ddsd));        
ddsd.dwSize = sizeof(ddsd);
ddsd.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH;
ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN ;
ddsd.dwWidth = 640;
ddsd.dwHeight = 480;
hRet = g_pDD->CreateSurface(&ddsd, &g_pDDSOne, NULL);

if(hRet != DD_OK)
{
MessageBox(_T("a"));
}
自己研究去吧!EVC4.0下测试通过!
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-02-04 12:49
搞到了,搞到了:)))妈喔,都不打折,好不容易弄到个8折的:))

6号下午走,兄弟喃,过完年一定过来耍哈!!!
根据地的兄弟们,团结就是力量
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-02-04 14:44
wxl_50685330: 一路走好,新年快乐哈!



[编辑 -  2/5/05 by  wwei_wang]
Come on, let us drive the world.
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-02-04 15:16
要得!:)))
根据地的兄弟们,团结就是力量
gychina
驱动牛犊
驱动牛犊
  • 注册日期2004-03-16
  • 最后登录2005-02-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-02-04 15:20
no.killer 先生:
我用的程序和你给的程序是一样的,调试不通

wxl_50685330先生:
我把ddraw.def加进去,依然不通

另外:我在网上查找发现,好多人都有这个问题。

wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-02-05 08:41
no.killer 先生:
我用的程序和你给的程序是一样的,调试不通



(1)哥们,我觉得你的编译环境肯定是缺少库和头文件:)
(2)另外,我觉得可能和你所用的sdk有关。

[编辑 -  2/5/05 by  wwei_wang]
Come on, let us drive the world.
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-02-05 12:51
no.killer 先生:
我用的程序和你给的程序是一样的,调试不通

wxl_50685330先生:
我把ddraw.def加进去,依然不通

另外:我在网上查找发现,好多人都有这个问题。

 


兄弟儿,你到底是调试不通还是编译不过?一样一样的来三
根据地的兄弟们,团结就是力量
gychina
驱动牛犊
驱动牛犊
  • 注册日期2004-03-16
  • 最后登录2005-02-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2005-02-05 13:20
报告连接错误如下:
ddraw.lib(ddclnt.obj) : error LNK2001: unresolved external symbol IID_IUnknown
ARMV4IDbg/second.exe : fatal error LNK1120: 1 unresolved externals
附件名称/大小 下载次数 最后更新
2005-02-05_ddex1.cpp (13KB)  12
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2005-02-05 13:28
少了UUID.LIB
根据地的兄弟们,团结就是力量
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2005-02-05 14:14
好像把COGUID.H和GUIDDEF.H加上就可以了,试试三
根据地的兄弟们,团结就是力量
gychina
驱动牛犊
驱动牛犊
  • 注册日期2004-03-16
  • 最后登录2005-02-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2005-02-05 14:50
wxl_50685330 :
加了UUID.LIB就好了,连接通过,虽然运行有点问题,但已与这个讨论无关。

我给你加分了。

感谢其他所有参与者,谢谢


游客

返回顶部