如何为Direct3DCreate9求解LNK2019

How do I solve LNK2019 for Direct3DCreate9?

本文关键字:求解 LNK2019 Direct3DCreate9      更新时间:2023-10-16

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

RAT_RenderDX9.obj:错误LNK2019:未解析的外部符号_Direct3DCreate9@4在函数"public:void __thiscall RAT_ENGINE::RAT_RenderDX9::Init(类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的其他答案,但它们没有解决我的问题。

我不得不将d3d9.lib文件添加到链接器的附加依赖项中,就像GSerg所说的那样。