2013-06-09 10 views
5

Zainstalowałem DirectX SDK June 10, ale gdy dołączę d3dx9.h, kompilator nie może go znaleźć.Brakujące pliki, DirectX SDK (d3dx9.lib, d3dx9.h)

Sprawdziłem katalog SDK i tam go nie znalazłem.

Brak danych:

: d3dx9.lib, d3dx9.h, dxfile.h.

+1

skąd masz SDK? Gdzie go zainstalowałeś? czy możesz wkleić pełną ścieżkę sprawdzanego folderu? czy próbowałeś ponownie zainstalować? – zdd

+0

Dostaję go ze strony Microsoftu, jest to ścieżka "C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v7.0A", próbowałem ponownie zainstalować, ale nadal nie instaluje tych plików –

+0

znalazłem pliki, patrzyłem na niewłaściwą ścieżkę, ale teraz zauważyłem, że nie ma d3dx9.dll w dowolnym miejscu, pobrałem go z Internetu, ale wydaje się być uszkodzony ... –

Odpowiedz

4

Plik biblioteki (d3dx9.lib) powinien znajdować się w C: \ ścieżka \ do \ Microsoft DirectX SDK (czerwiec 2010) \ Lib \ x86 \, a także w C: \ ścieżka \ do \ Microsoft DirectX SDK (czerwiec 2010) \ Lib \ x64 \

Oba należą wspomniane pliki istnieją w katalogu C: \ ścieżka \ do \ Microsoft DirectX SDK (czerwiec 2010) \ Include \

Jeśli nadal nie jest w stanie ich znaleźć, pobierz i zainstaluj SDK stąd: http://www.microsoft.com/en-us/download/details.aspx?id=6812

Pobrałem i wykorzystałem ten plik i mogę Cię zapewnić, że pliki te są obecne !!

+0

Czy powinienem używać folderu x64, jeśli używam systemu operacyjnego 64-bitowego lub czy nie ma różnicy? –

+1

Zależy od miejsca, w którym powinien działać twój program ... Jeśli używasz x64, to nie będzie działać na procesorach x32. Osobiście zawsze używam x32 w celu zapewnienia kompatybilności z większą liczbą systemów. – theCNG27

+0

Rozumiem, bardzo dziękuję :) –

1

Po napotkaniu tego problemu okazało się, że mam d3dx9.h w folderze
[Program Files (x86) \ Microsoft DirectX SDK (czerwiec 2010) \ include].
Kompilator potrzebował, aby był w
[Program Files (x86) \ Windows Kits \ 8.1 \ include \ shared].
Skopiowałem plik do innej lokalizacji i zadziałało, ale zastanawiam się, czy to była najmądrzejsza poprawka.

+0

Jeśli używasz starszego pakietu DirectX SDK w połączeniu z zestawem SDK systemu Windows 8.x, musisz skonfigurować katalogi VC++, aby zestaw SDK systemu Windows zawierał ścieżkę, a następnie pakiet DirectX SDK . Zobacz [MSDN] (https://msdn.microsoft.com/en-us/library/windows/desktop/ee663275.aspx) –

4

Instalacja DirectX SDK doda Makro arkusza właściwości o nazwie $(DXSDK_DIR) do programu Visual Studio. Zamiast wstawiania bezwzględnej ścieżki do katalogów Uwzględnij i Biblioteki, zalecane jest użycie tego makra do ustawienia ścieżki Uwzględnij i Biblioteka dla zależności DX.

Jako Dołącz dodawania katalogu: $(DXSDK_DIR)Include

Jak Biblioteka Katalog dodania: $(DXSDK_DIR)Lib\x86 lub $(DXSDK_DIR)Lib\x64 na architekturze 64-bitowej

Więc katalogi Twojego VC++ powinien wyglądać mniej więcej tak: DX Include Directories

$(DXSDK_DIR) rozwiązuje ścieżkę, na której zainstalowałeś SDK, zwykle "C: \ Program Files (x86) \ Microsoft DirectX SDK (czerwiec 2010)" i działa nawet jeśli wybrałeś inną ścieżkę, co czyni ją bardziej dostępną między różni ludzie.

0

w moim przypadku, Następujący kod działa dla mnie:

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

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