visual tutorial studio descargar code c++ visual-studio

descargar - visual studio c++ tutorial



¿Cómo empacar un proyecto de Visual Studio C++ para su lanzamiento? (5)

Me pregunto cómo hacer una compilación de lanzamiento que incluya todos los archivos dll necesarios en .exe para que el programa pueda ejecutarse en una máquina sin desarrollo sin tener que instalar Microsoft redistribuible en la máquina de destino.

Sin hacer esto, aparece el mensaje de error de que la configuración de la aplicación no es correcta y se vuelve a instalar.


Estarías mirando al enlace estático (a diferencia del enlace dinámico)

No estoy seguro de cuántos de los redistribuibles de MS están enlazados estáticamente.


Debe configurar la biblioteca en tiempo de ejecución (en C / C ++ -> Generación de código) para TODOS los proyectos en vinculación estática, que se correlaciona con las siguientes configuraciones de edificio predeterminadas:

  • Depuración / depuración multiproceso
  • Depuración / depuración Singlethreaded

A diferencia de las versiones "DLL" de esas bibliotecas.

Incluso si lo hace, dependiendo de las bibliotecas que esté utilizando, es posible que deba instalar un Merge Module / framework / etc. Depende de si están disponibles las versiones estáticas LIB de sus dependencias.


Si está buscando averiguar qué dll es la máquina de destino que falta, utilice depends.exe que solía venir con MSDev, pero también se puede encontrar aquí . Probar esto en algunas máquinas objetivo debería indicarle qué dll necesita empaquetar con su aplicación.


Tenga en cuenta que Microsoft no recomienda que enlace estáticamente el tiempo de ejecución en su proyecto , ya que esto impide que la actualización de Windows le proporcione servicios para corregir fallos de seguridad críticos. También existen problemas potenciales si transfiere memoria entre sus archivos .exe y .dll principales, como si cada uno de estos enlaces estáticos en el tiempo de ejecución pudiese terminar con problemas de malloc / free mismatch.

Puede incluir los archivos DLL con el archivo ejecutable, sin compilarlos en .exe y sin ejecutar la herramienta de redistribución, esto es lo que hago y parece funcionar bien.

El único inconveniente de la pomada es que debe incluir los archivos dos veces si está distribuyendo para una amplia gama de versiones de Windows: los SO más nuevos necesitan los archivos en directorios definidos por el manifiesto, y los más antiguos quieren todos los archivos en el directorio del programa. .


  1. Elija Proyecto -> Propiedades
  2. Seleccione Configuración -> General
  3. En el cuadro de cómo debe vincular MFC, elija vincularlo estáticamente.
  4. Elija Enlazador -> Entrada. En Dependencias adicionales , agregue las bibliotecas en las que necesita que se conecte estáticamente su aplicación.