DXUT中缺lessDXUTSetD3D11Devicefunction

我正在用direct3d和DXUT编写一个基本的程序。

我正在使用D3D11CreateDeviceAndSwapChain()手动创build一个direct3d设备,并使用DXUTSetD3D11Device()函数将其传递给DXUT,根据文档应该是正确的。

令我困惑的是,当调用DXUTSetD3D11Device()时,我得到一个LNK2019: unresolved external symbol错误。 我可以调用DXUTCreateWindow()等其他DXUT函数,也可以自己构buildDXUT并正确链接到它。

当我查看DXUT.h时,我可以findDXUTSetD3D11Device()的声明,但是当我查看DXUT.cpp时,找不到任何对此函数的引用,所以我认为这可能是我得到此链接器错误的原因。

这似乎和我的一样。

我将在这里留下相关的代码,以防万一:

 bool DXUTEngine::Initialise() { HR(DXUTCreateWindow(m_appname)); if(!m_pDirect3D->Initialise(DXUTGetHWND(), m_width, m_height)) { OutputDebugString(L"\n\n Failed to initialise Direct3D\n\n"); return false; } HR(DXUTSetD3D11Device(m_pDirect3D->GetDevice(), m_pDirect3D->GetSwapChain())); return true; } 

这里是我创build设备的地方:

 result = D3D11CreateDeviceAndSwapChain(NULL, driverType, NULL, 0, &featureLevel, 1, D3D11_SDK_VERSION, &swapChainDesc, &m_pSwapChain, &m_pDevice, NULL, &m_pContext); 

目前我认为自己做的事情非常错误,或者这个function不存在。 我真的很感激任何帮助。

提前致谢。

从链接你发布到MSDN论坛,DXUT11框架交付源代码,所以没有lib文件。 所以错误不是关于任何链接错误。

另一个重要的是:DXUTSetD3D11Device在DXUT框架中没有实现 。 如果你想使用它,你应该自己实现它。