Autor Wątek: D3DCompiler_46.dll  (Przeczytany 6775 razy)

Offline MatlertheGreat

  • Użytkownik

# Luty 20, 2013, 22:40:11
Witam,
Może i jestem ślepy, może nie potrafie wpisywać w googla, ale zabijcie mnie nie moge nigdzie znaleźć tytułowej d3dcompiler_46.dll...
Program, gdy debuguje przez VS2012 działa, ale gdy odpalam .exe buntuje się o brak dll-ki. Google mi nie pomógł, ale skoro VS2012 odpala, to biblioteka musi gdzieś być zainstalowana... Tylko gdzie? Macie jakieś sugestie?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Xirdus

  • Redaktor

# Luty 20, 2013, 22:52:32
Najnowszy DirectX zainstalowany?

Offline MatlertheGreat

  • Użytkownik

# Luty 20, 2013, 22:55:20
a bez niego odpaliłbym program? Oczywiście, że tak. Szukam dll-ki, którą trzeba wrzucić do folderu z .exe, żeby ruszył...


Offline MatlertheGreat

  • Użytkownik

# Luty 20, 2013, 23:31:58
to już też próbowałem, ale program domaga się _46 a nie _43

Offline Xirdus

  • Redaktor

# Luty 21, 2013, 00:21:37
W dalszym ciągu obstawiam, że nie masz najnowszego DirectXa. I nie mam tu na myśli 11.

http://www.microsoft.com/pl-pl/download/details.aspx?id=35
Ściągnij, zainstaluj, a nóż pomorze.

Edit: tak w ogóle, czyżby Microsoft przestał wersjonować 'rewizje' DirectXa? Najnowszy redist jaki znalazłem oznaczony jest jako June 2010, przy czym data dodania to kwiecień '11... Czy może rozwój grafiki ustał?
« Ostatnia zmiana: Luty 21, 2013, 00:24:51 wysłana przez Xirdus »

Offline Krzysiek K.

  • Moderator
    • DevKK.net

# Luty 21, 2013, 00:34:09
Cytuj
Edit: tak w ogóle, czyżby Microsoft przestał wersjonować 'rewizje' DirectXa? Najnowszy redist jaki znalazłem oznaczony jest jako June 2010, przy czym data dodania to kwiecień '11... Czy może rozwój grafiki ustał?
DirectX przestał być osobnym bytem jako SDK i jest teraz już częścią Windows SDK.

Offline Xirdus

  • Redaktor

# Luty 21, 2013, 00:40:10
DirectX przestał być osobnym bytem jako SDK i jest teraz już częścią Windows SDK.
A to ci dopiero... To jak w takim razie się teraz ściąga redisty? dxwebinstall dalej działa jak należy?

Offline MatlertheGreat

  • Użytkownik

# Luty 21, 2013, 09:59:43
Echhhh... Aplikacja nadal nie działa. Gdy debuguję przez MSVS2012 program się odpala, więc dll-ka jest gdzieś na komputerze.
Szukałem w System32 ale są tam tylko wesje do _43. Problem pojawia się, gdy odpalam skompilowanego .exe-ka, który domaga się D3DCOMPILER_46.dll.

@edit
HA! Znalazłem. Zainstalowałem Windows SDK for Win8 i tam sobie moja dll-ka siedzi.
Może komuś pomoże ta stronka : http://msdn.microsoft.com/en-us/windows/desktop/hh852363.aspx
« Ostatnia zmiana: Luty 21, 2013, 19:18:30 wysłana przez MatlertheGreat »

Offline karol57

  • Użytkownik

# Luty 21, 2013, 16:17:44
DLLe są w najnowszym Windows SDK w katalogu: C:\Program Files (x86)\Windows Kits\8.0\Redist\D3D, jak byś nie miał najnowszego SDK i potrzebował tylko tych DLLi to mam dla ciebie i potomnych paczkę.

// Zaraz będzie, forum nie przyjmie pliku 4,91 MB
// EDIT: Już https://www.dropbox.com/s/0mrez7788crffnh/D3D.rar

// EDIT2: Nie zauważyłem edit'a wyżej...
« Ostatnia zmiana: Luty 21, 2013, 16:23:14 wysłana przez karol57 »

Offline MatlertheGreat

  • Użytkownik

# Luty 21, 2013, 19:28:06
Mam jeszcze jedno pytanie: Biblioteka występuje w wersji x64 i x86. Czy używana wersja D3DCompiler_46.dll zależy od mojego kompilatora, czy od komputera, na którym odpalę program?

Offline karol57

  • Użytkownik

# Luty 21, 2013, 21:28:37
Wersja biblioteki zależy od targetu. Jeżeli w opcjach kompilatora ustawisz Win32 to dajesz mu 32-bitową DLLe, jeżeli x64 to 64-bitową.

Nie mam pojęcia jak system x64 zachowa się przy ładowaniu x86 przez program x64 (w każdym razie się wysypie, bo argumenty funkcji są inaczej przekazywane [przynajmniej tak słyszałem]). A system x86 nie ogarnie biblioteki x64.

Offline MatlertheGreat

  • Użytkownik

# Luty 21, 2013, 21:52:58
No dobra. Potestuje na innych komputerach i najwyżej podzielę się doświadczeniem.

Offline Krzysiek K.

  • Moderator
    • DevKK.net

# Luty 22, 2013, 12:16:22
Cytuj
(w każdym razie się wysypie, bo argumenty funkcji są inaczej przekazywane [przynajmniej tak słyszałem])
Skoro się różnią wielkości wskaźników, a nie pamiętam żeby jakąś funkcja D3DX z nich nie korzystała, to muszą być inaczej przekazywane.