Qt调用DirectX,报错“Direct3DCreate9()函数未定义
我用Qt5.0.2创建了个项目在头文件中包含了
#include <d3d9.h>
#include <d3dx9.h>
#include <d3dx9math.h>
定义了
IDirect3D9* g_pD3D= NULL;
IDirect3DDevice9* g_pd3dDevice = NULL;
HRESULT g_Result = 0;
在窗口构造函数中调用了(以下是部分代码)
g_pD3D = Direct3DCreate9(D3D_SDK_VERSION);
提示undefined reference to "Direct3DCreate9@4"
请问是什么原因?
另外D3DXMatrixLookAtLH()函数也是报这个错误。
另外,我在pro文件在添加了
INCLUDEPATH += D:\DXSDK\Include
HEADERS += d3d9.h += d3dx9.h += d3dx9d.hwin32:LIBS += -L"D:\\DXSDK\Lib" -ld3d9 -ld3dx9 -ld3dx9d
还是提示这样的错误。
请指教,谢谢!· --------------------编程问答-------------------- 很奇怪,DXSDK中的Lib文件夹不是有x64和x86两个字文件夹么,是不是路径写错了?
如果在Qt5.1中使用MinGW中的g++编译,那么会发现d3d9.a在MinGW中的lib文件夹中,无需担心无法链接。
简单一点的,直接将d3d9.lib放在项目文件的旁边,然后这么写:
LIBS += $${PWD}/d3d9.lib
另外可能要注意库链接顺序的问题。最好基础库放在后面,以免报无法链接的错误。
补充:移动开发 , Qt