如何解决Direct3DCreate9的LNK2019问题?

时间:2013-02-03 00:01:24

标签: c++ visual-c++ directx directx-9

在编译期间,我收到以下错误:

  

RAT_RendererDX9.obj:错误LNK2019:未解析的外部符号_Direct3DCreate9 @ 4在函数“public:void __thiscall RAT_ENGINE :: RAT_RendererDX9 :: Init(class RAT_ENGINE :: RAT_WindowManager *)”中引用(?Init @ RAT_RendererDX9 @ RAT_ENGINE @@ QAEXPAVRAT_WindowManager @ @@ 2 Z)

我使用Direct3DCreate9的唯一地方是我在呈现器的Init()函数中,它具有以下代码:

void RAT_RendererDX9::Init(RAT_WindowManager* argWMan)
{
    wMan = argWMan;

    g_pD3D = (LPDIRECT3D9)Direct3DCreate9( D3D_SDK_VERSION );

    D3DPRESENT_PARAMETERS d3dpp;
    ZeroMemory( &d3dpp, sizeof( d3dpp ) );
    d3dpp.Windowed = TRUE;
    d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
    d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;

    g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
                              D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                              &d3dpp, &g_pd3dDevice );
}

此错误来自何处以及如何解决? 我已经尝试了LNK2019的其他答案,但他们没有解决我的问题。

1 个答案:

答案 0 :(得分:10)

我必须将d3d9.lib文件添加到链接器的其他依赖项中,就像GSerg所说的那样。