Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: WalterBlanco en 13 Octubre 2015, 16:00 pm



Título: El programa no puede iniciarse porque falta MSVCP120.dll en el equipo ....
Publicado por: WalterBlanco en 13 Octubre 2015, 16:00 pm
Hola amigos:

Hice una aplicación sencilla en Visual Studio 2013 que utiliza bibliotecas de OpenCV 2.4.10. La programé para que para que corra localmente haciendo clik en un ícono del Desktop en Windows 8.1. Luego de compilar en modo RELEASE hice un instalador con InstallShield Limited Edition Project. Por supuesto, instalé la aplicación en mi máquina y funcionó de maravillas. Pero al intentar instalarlo en otro equipo me dio problemas. Primero me hizo descargar .NET Framework 4.5. Luego me mostró el siguiente mensaje:

"El programa no puede iniciarse porque falta MSVCP120.dll en el equipo. Intente reinstalar el programa para corregir este problema."

¿Por qué ocurre este problema? ¿Cómo lo puedo resolver?

Gracias por sus consejos.

Walter.


Título: Re: El programa no puede iniciarse porque falta MSVCP120.dll en el equipo ....
Publicado por: engel lex en 13 Octubre 2015, 17:01 pm
instalaste el microsoft visual c++ redistributable (http://www.microsoft.com/es-ES/download/details.aspx?id=40784) adecuado para tu maquina(vcredist_x64 u x86 según tu caso)?


Título: Re: El programa no puede iniciarse porque falta MSVCP120.dll en el equipo ....
Publicado por: x64core en 14 Octubre 2015, 03:31 am
Compilar el codigo estaticamente:

En Visual studio, ve a la propiedades del proyecto -> C/C++ -> Libreria RunTime -> Selecciona: Multi-threaded (/MT). Con esa opcion al compilar el codigo seria incrustado en tu ejecutable asi deja de depender de la DLL.


Título: Re: El programa no puede iniciarse porque falta MSVCP120.dll en el equipo ....
Publicado por: WalterBlanco en 14 Octubre 2015, 14:36 pm
Hola amigos:

Actualicé los paquetes redistribuibles y configuré la opción del compilador "biblioteca en tiempo de ejecución" a "/MT", pero me da error porque mi aplicación es "clr" y es incompatible con "/MT".  También es incompatible con "/MTd" y con la opción "/MDd". En esta última opción me da error porque es incompatible con las bibliotecas de OpenCV para modo RELEASE que estoy utilizando en el programa y porque estas opciones se usan solamente en las compilaciones en modo DEBUG.

Con la única que compila bien es con la opción "/MD" (DLL multiproceso).

Voy a probar con actualiar las DLL en la máquina donde quiero que se instale la aplicación.

Gracias a ambos por su contribución.

Hasta luego.


Título: Re: El programa no puede iniciarse porque falta MSVCP120.dll en el equipo ....
Publicado por: WalterBlanco en 15 Octubre 2015, 13:30 pm
Sigo teniendo problemas, ahora por las librerías de OpenCV.