当前位置:编程学习 > wap >>

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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,