【发布时间】:2013-01-18 01:02:07
【问题描述】:
在编译时出现以下错误:
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 的其他答案,但没有解决我的问题。
【问题讨论】:
-
需要在directx库中链接。
-
将 d3d9.lib 添加到链接器的附加依赖项中。
-
我已经用过
#include <d3d9.h>,在示例文件中也使用过,但是不起作用。 -
@Friso1990:包含标头不会将库添加到链接器依赖项中。
标签: c++ visual-c++ directx directx-9