web-dev-qa-db-fra.com

Fichiers manquants, SDK DirectX (d3dx9.lib, d3dx9.h)

J'ai installé le DirectX SDK June 10, mais lorsque j'inclus le d3dx9.h, le compilateur ne le trouve pas.

J'ai vérifié le répertoire SDK et je ne l'ai pas trouvé non plus.

fichiers manquants: d3dx9.lib, d3dx9.h, dxfile.h.

5
Carlos Martinez

L'installation de DirectX SDK ajoutera une macro de la feuille de propriétés appelée $(DXSDK_DIR) dans Visual Studio. Au lieu d'insérer un chemin absolu dans vos répertoires Include et Library, nous vous recommandons d'utiliser cette macro pour définir les chemins Include et Library pour les dépendances DX.

En tant que répertoire d'inclusion, ajoutez: $(DXSDK_DIR)Include

En tant que répertoire de bibliothèque, ajoutez: $(DXSDK_DIR)Lib\x86 ou $(DXSDK_DIR)Lib\x64 sur une architecture 64 bits

Ainsi, vos répertoires VC++ devraient ressembler à ceci:  DX Include Directories

La $(DXSDK_DIR) résout le chemin où vous avez installé le SDK, normalement "C:\Program Files (x86)\SDK DirectX Microsoft (juin 2010)" et fonctionne même si vous avez choisi un autre chemin, ce qui le rend plus disponible entre différentes personnes.

8
Vinz

Le fichier de bibliothèque (d3dx9.lib) doit figurer dans C:\chemin\vers\Microsoft DirectX SDK (juin 2010)\Lib\x86\ainsi que dans C:\chemin\vers\Microsoft DirectX SDK (juin 2010)\Lib\x64 \

Les deux fichiers que vous avez mentionnés existent dans C:\path\to\Microsoft DirectX SDK (juin 2010)\Include \

Si vous ne parvenez toujours pas à les trouver, téléchargez et installez le SDK à partir d'ici: http://www.Microsoft.com/en-us/download/details.aspx?id=6812

J'ai téléchargé et utilisé celui-ci et je peux vous assurer que ces fichiers sont présents !!

4
theCNG27

Quand j’ai eu ce problème, j’ai trouvé que j’avais le d3dx9.h dans le
Dossier [Program Files (x86)\Microsoft DirectX SDK (juin 2010)\include].
Le compilateur avait besoin d’être en
[Fichiers de programme (x86)\Windows Kits\8.1\include\shared].
J'ai copié le fichier à un autre emplacement et cela a fonctionné, mais je me demande si c'était le correctif le plus intelligent.

1
user2030745

dans mon cas, le code suivant fonctionne pour moi:

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

//#pragma comment(lib, "d3dx9.lib")
#pragma comment(lib, "d3d9.lib")
0
sailfish009