2009-07-21 28 views
9

en mi proyecto si proyecto de compilación en la versión, me pregunta MSVCP90.dll.¿No se encuentra MSVCP90.dll?

si se trata de depurar, no es así ...

han encontrado alguna vez una situación así?

y ¿sabes por qué se necesita este .dll? o qué configuración hace que sea deseado?

gracias por cualquier consejo ..

+0

intentas vincular dinámicamente a un archivo dll externo – Bashar

Respuesta

14

me di cuenta que ya ha instalado Microsoft Visual C++ 2008 Redistributable Paquete por lo que acabo de reparar, pero no resolvió el problema.

luego busqué la configuración y vi que "Generar Manifiesto" es "No" en Liberar cuando estaba "Sí" en Depurar.

así que cambié y lo intenté de nuevo, luego funcionó.

yo no sabía que esta configuración puede afectar así, (y no recuerdo cuando me cambié)

todos modos .. gracias por sus respuestas ... otras

+0

Puede ver cómo se despliegan las DLL de MS Runtime en el directorio de Windows en% WINDIR%/WinSxS. Windows usa el manifiesto para determinar qué dll de tiempo de ejecución particular cargar. –

+1

Otra opción que puede causar el mismo problema: Herramienta de manifiesto | Embed Manifest = No. –

+0

¡Gracias, estúpidamente, deshabilité el manifiesto y esto lo resolvió para mí! Gracias :) –

14

creo que es necesario instalar Microsoft Visual C++ 2008 Redistributable Package que se puede obtener a partir here.

+0

porque ya está cargado, esta no es la solución :( – ufukgun

3

¿Ha buscado en su disco duro el archivo? Puede que le resulte en un directorio como:

C: \ Archivos de programa \ Microsoft Visual Studio 9.0 \ VC \ Redist \ x86 \ Microsoft.VC90.CRT

Si está ahí, copiarlo en el \ Windows \ system32 directorio.

También copie msvcm90.dll y msvcr90.dll mientras lo hace.

Si esto no funciona, entonces la solución es descargar e instalar el paquete redistribuible de Microsoft Visual C++ 2008. Siga este enlace para descargar (CCA 1.8 MB):

http://www.microsoft.com/downloads/thankyou.aspx?familyId=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displayLang=en

Comprueba aquí por múltiples formas de sloving este tema:

http://pcsupport.about.com/od/findbyerrormessage/a/msvcp90-dll-not-found-missing-error.htm

+0

los encontré aquí: C: \ Archivos de programa \ Intel \ Intel (R) Rapid Storage Technology \ Microsoft .VC90.CRT –

1

verifica la configuracion del proyecto. Si no está generando un manifiesto para su compilación de versión, la DLL deberá estar en el directorio System32.

Además, si las compilaciones de Liberación y Depuración van al mismo directorio, podría estar viendo el manifiesto de depuración, que lo apuntaría a la versión de depuración de la DLL. Su mejor apuesta es generar un manifiesto incrustado para todas las construcciones.

0

Hay varios archivos que hacen que Visual C++ Run-time y usted puede tener el mismo problema con cualquiera de ellos. Puede echar un vistazo a otras preguntas con respecto a cualquiera de los siguientes archivos.

  • msvcp90.dll
  • msvcP90d.dll (versión de depuración de msvcP90.DLL)
  • Msvcr90.dll
  • msvcR90d.dll (versión de depuración de Msvcr90.dll)
+0

Mi pensamiento inicial fue incorrecto. No tiene nada que ver con la lista con viñetas, y todo tiene que ver con el hecho de que estás tratando de audaz solo una parte de la palabra. Esto es por diseño, ya que no sería bueno tener un código erróneo en negrita. Vea la explicación de Jeff aquí: http://meta.stackexchange.com/questions/1643/bug-bolding-with-isnt-working-properly/1669#1669 –

+0

@ Bill ¿Cuál es el problema con los nombres de archivo con M en el nombre? –

1

Probablemente apagado incrustación manifiesta en su proyecto en configuración de liberación.

+0

sí, tienes razón. esa fue la solución, pero ya lo he dicho ... – ufukgun

Cuestiones relacionadas