2012-09-29 4 views
5

Sto cercando di compilare uno SDL-programma che ho scritto, ma quando lo faccio, questo errore si presenta:SDL.dll manca dal mio computer - VS 2010

il programma non può iniziare perché SDL.dll è mancante dal tuo computer. Prova a reinstallare il programma per risolvere questo problema

Non ho idea del perché. Ho SDL.dll.

  • ho messo nella cartella corretta: C:\Windows\System32.

  • Ho il PERCORSO corretto per tutte le intestazioni SDL e come pure.

VS dice:

Corporatura riuscito: 1

e quindi l'errore di cui sopra si apre sullo schermo.

+1

Se si dispone di una versione a 64 bit di Windows, è necessario passare a c: \ windows \ syswow64 –

risposta

6

Aggiungilo nella tua cartella di debug o in qualsiasi directory in cui si trova attualmente il tuo programma.

+0

che non ha fatto alcuna differenza. –

+2

@ user1068249 cosa succede nella cartella con i file .cpp al suo interno? È lì che di solito si trovano i miei. – Rapptz

+0

Questa è la cartella che ha bisogno dei file dll! Grazie mille :) –

4

SDL.dll deve trovarsi nella stessa directory dell'applicazione o in una directory che si trova nella variabile di ambiente PATH.

2

Basta posizionare il file SDL.dll nella stessa cartella e il problema verrà risolto. E per rispondere al tuo problema con il PERCORSO, puoi specificare in Visual Studio dove cercherà gli eseguibili durante il debug. Forse questo non è impostato correttamente ed è per questo che VS non riesce a trovare SDL.dll?

4

Se SDL.dll è a 32 bit e si sta eseguendo un sistema a 64 bit è necessario inserire la DLL nella /Windows/SysWOW64/ piuttosto che /Windows/System32/, che viene utilizzato per le DLL a 64 bit.

EDIT:
Probabilmente non dovrebbe essere distribuendo le DLL copiandoli nella directory System32, a meno che siano librerie comuni che vengono utilizzati da diverse applicazioni, e anche allora avrei usato discrezione. Ad esempio, un'applicazione potrebbe aggiornare la DLL, che potrebbe interrompere altre applicazioni che si basano su una versione precedente della libreria.

Invece, copiare le DLL nella stessa directory in cui è stato creato l'eseguibile. Se si sta costruendo ed eseguendo con Visual Studio, verrà cercata la DLL nella directory Progetto, dove probabilmente si trovano i file sorgente.

+1

La maggior parte della struttura di directory fuorviante di sempre. – zeboidlund

+0

ciao, se voglio mettere il SDL.dll in cartella specifica nella cartella di sistema, come farlo E.g. /Windows/SysWOW64/ABC/SDL.dll. – user1219310

+0

Non penso che tu possa. Dovresti semplicemente distribuire l'applicazione con le DLL nella stessa directory dell'eseguibile, non in System32. Sto modificando la risposta per riflettere questo. –