2012-09-29 7 views
5

Estoy intentando compilar una SDL-programa que he escrito, pero cuando lo hago, este error se muestra arriba:SDL.dll no se encuentra en mi equipo - VS 2010

el programa no puede iniciar porque falta SDL.dll en su computadora. Intente volver a instalar el programa para solucionar este problema

No tengo idea de por qué. Tengo SDL.dll.

  • lo he puesto en la carpeta correcta: C:\Windows\System32.

  • Tengo las PATHS correctas para todos los encabezados SDL y cosas así.

VS dice:

Construir tuvo éxito: 1

y entonces el error anterior aparece en la pantalla.

+1

Si tiene una versión de Windows de 64 bits, entonces tiene que entrar en c: \ windows \ syswow64 –

Respuesta

6

Añádalo a su carpeta de depuración o al directorio en el que se encuentre actualmente su programa.

+0

Eso no hizo ninguna diferencia. –

+2

@ user1068249 ¿Qué tal en la carpeta con sus archivos .cpp? Ahí es donde generalmente se encuentran los míos. – Rapptz

+0

¡Esa es la carpeta que necesitaba los archivos dll! Muchas gracias :) –

4

SDL.dll tiene que estar en el mismo directorio que su aplicación, o en un directorio que está en la variable de entorno PATH.

2

Simplemente coloque su SDL.dll en la misma carpeta y su problema será resuelto. Y para responder a su problema con el PATH, puede especificar en Visual Studio donde buscará ejecutables durante la depuración. Tal vez esto no está configurado correctamente y es por eso que VS no puede encontrar SDL.dll?

4

Si SDL.dll es de 32 bits y se está ejecutando un sistema de 64 bits que tiene que colocar el archivo DLL en lugar de /Windows/SysWOW64//Windows/System32/, que se utiliza para archivos DLL de 64 bits.

Probablemente no deba desplegar sus archivos DLL copiándolos en el directorio de System32, a menos que sean bibliotecas comunes que son utilizadas por varias aplicaciones, e incluso entonces usaría la discreción. Por ejemplo, una aplicación podría actualizar el archivo DLL, lo que podría romper otras aplicaciones que dependen de una versión anterior de la biblioteca.

En su lugar, copie los archivos DLL en el mismo directorio en el que se está ejecutando el archivo ejecutable. Si está compilando y ejecutando Visual Studio, buscará el archivo DLL en el directorio del proyecto donde probablemente se encuentren sus archivos de origen.

+1

La mayoría de la estructura de directorios engañosa. – zeboidlund

+0

hola, si me gustaría poner el SDL.dll en una carpeta específica en la carpeta del sistema, cómo hacerlo P. ej. /Windows/SysWOW64/ABC/SDL.dll. – user1219310

+0

No creo que puedas. Realmente debería implementar su aplicación con las DLL en el mismo directorio que el ejecutable, no en System32. Estoy editando la respuesta para reflejar esto. –

Cuestiones relacionadas