2011-02-08 10 views
18

Edit: Naturalmente, subito dopo aver lavorato su di esso per un'ora poi distacco qui, ho trovato l'errore stupido ...Impossibile aprire il file include "d3dx9.h"

Ricevo errori del compilatore quando provare a #include <d3dx9.h> in un progetto. Ricevo "errore fatale C1083: impossibile aprire il file include: 'd3dx9.h': nessun file o directory".

  • Ho installato l'SDK di DirectX (ho anche provato a reinstallarlo inutilmente).
  • nelle proprietà del progetto:
    • Directory di VC++ sono impostati su "$(DXSDK_DIR)Include;$(IncludePath)" e "$(DXSDK_DIR)Lib\x86;$(LibraryPath)" Includi e directory di libreria, rispettivamente, per tutte le configurazioni — e la variabile d'ambiente %DXSDK_DIR% punti a C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\ come previsto.
    • C/C++> Impostazioni generali è $(DXSDK_DIR)include elencati nella supplementari includono directory
    • Linker> input> Dipendenze aggiuntive ha d3dx9d.lib inclusi per il debug e d3dx9.lib inclusi per la configurazione di uscita.
  • io sono in grado di compilare ed eseguire progetti tutorial dal campione Browser DirectX successo.
  • Intellisense/completamento automatico di Visual Studio troverà d3dx9.h e suggerirà i nomi di tipo e funzione che si trovano all'interno del file (e non inclusi in nessun altro I am #include ing) quindi sembra che Intellisense possa trovarlo.

Qualche suggerimento su cosa sto dimenticando o che altro da provare?

Grazie

+0

Aggiungi una risposta con ciò che hai fatto e selezionalo. Cancellare nega lo sforzo che Liviu ha fatto per aiutarti. – Will

+0

Ok. Non ero sicuro se rispondere alla mia domanda fosse una cattiva forma. Andrà bene. – chaosTechnician

risposta

4

Non mi rendevo conto che uno degli altri progetti in la soluzione era #include ing un file che è stato #include ing un file che è stato #include ing d3dx9.h e non avevo aggiunto quei percorsi a tale progetto.

/Facepalm

6

È necessario assicurarsi di avere TUTTI percorsi sorounded tra virgolette ("). Invece di $(DXSDK_DIR)include si dovrebbe avere "$(DXSDK_DIR)include"

+3

La mia comprensione è che VS2010 non richiede virgolette sui percorsi; ma, in entrambi i casi, l'aggiunta di virgolette non l'ha risolta. – chaosTechnician

12

hai dimenticato una cosa:

  1. Vai alle directory VC++ -> Libreria directory
  2. aggiungere $(DXSDK_DIR)LIB\x86
  3. applicano.

Fatto. Spero che questo aiuti

+1

Pensavo che avesse menzionato che aveva già incluso la directory della biblioteca. – Hazok

0

Ho provato tutti questi suggerimenti e nessuno ha funzionato.

La variabile $ (DXSDK_DIR) non funziona se si installa DirectX mentre Visual Studio è ancora in esecuzione.La soluzione per me era di riavviare Visual Studio (+ aggiungere i percorsi nelle soluzioni elencate sopra, ovviamente).