Missing files, DirectX SDK (d3dx9.lib, d3dx9.h)

2019-03-20 20:59发布

I installed the DirectX SDK June 10, but when I include the d3dx9.h, the compiler can't find it.

I checked the SDK directory, and I didn't find it there either.

files missing: d3dx9.lib, d3dx9.h, dxfile.h.

标签: sdk directx
4条回答
Emotional °昔
2楼-- · 2019-03-20 21:05

The library file (d3dx9.lib) should be in C:\path\to\Microsoft DirectX SDK (June 2010)\Lib\x86\ as well as in C:\path\to\Microsoft DirectX SDK (June 2010)\Lib\x64\

Both include files you mentioned exist in C:\path\to\Microsoft DirectX SDK (June 2010)\Include\

If you're still not able to find them, download and install the SDK from here: http://www.microsoft.com/en-us/download/details.aspx?id=6812

I downloaded and used this one and I can asure you, that those files are present!!

查看更多
ゆ 、 Hurt°
3楼-- · 2019-03-20 21:17

The DirectX SDK installation will add a Property Sheet Macro called $(DXSDK_DIR) into Visual Studio. Instead of inserting an absolute path in your Include and Library Directories, I'd recommend using this macro to set the Include and Library path for DX dependencies.

As Include Directory add: $(DXSDK_DIR)Include

As Library Directory add: $(DXSDK_DIR)Lib\x86 or $(DXSDK_DIR)Lib\x64 on a 64-bit architecture

So your VC++ Directories should look something like this: DX Include Directories

The $(DXSDK_DIR) resolves to the path where you installed the SDK, normally "C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)" and works even if you chose another path, which makes it more available between different people.

查看更多
【Aperson】
4楼-- · 2019-03-20 21:26

When I had this problem, I found that I had the d3dx9.h in the
[Program Files(x86) \ Microsoft DirectX SDK (June 2010) \ include] folder.
The compiler needed it to be in
[Program Files(x86) \ Windows Kits \ 8.1 \ include \ shared].
I copied the file to the other location and it worked, but I wonder if that was the smartest fix.

查看更多
贼婆χ
5楼-- · 2019-03-20 21:26

in my case, following code works for me:

//#include <d3dx9.h>
#include <d3d9.h>

//#pragma comment(lib, "d3dx9.lib")
#pragma comment(lib, "d3d9.lib")
查看更多
登录 后发表回答