2010-01-09 9 views

Respuesta

9

Disculpe, no tengo que probar VC++ Express, pero en la edición estándar uso Propiedades del proyecto -> Propiedades de configuración -> C/C++ -> Generación de código -> Biblioteca de tiempo de ejecución. Dll y Dll Debug son para vinculación dinámica.

7

¿Estás 100% seguro de que quieres hacer esto? Tenga en cuenta que si lo hace y se encuentra una vulnerabilidad de seguridad en la biblioteca de tiempo de ejecución, Microsoft no podrá parchar su aplicación a través de Windows Update.

Otra solución es empaquetar Visual C++ Runtime Redistributable con su aplicación. Se instala muy rápido y no requiere Visual Studio. También es importante tener en cuenta que no debe distribuir código vinculado a las bibliotecas de tiempo de ejecución de depuración ya que requieren Visual Studio. Consulte esto blog post para obtener más información sobre el empaquetado de la redistribuible.

EDIT: Dicho esto, depende de usted. Mi punto es simplemente que no se deben ignorar los enlaces dinámicos basados ​​únicamente en la idea de que los usuarios deben tener "algún tipo de VS instalado", lo cual no es cierto.

+0

Necesitaba revertir y no anotar, ahora no lo ha hecho y no lo ha hecho. : P – GManNickG

+7

Existen muchas buenas razones para preferir enlaces estáticos. Personalmente, le doy prioridad a "conservar mi cordura", y eso no es compatible con los temas que Microsoft requiere que salte para distribuir el tiempo de ejecución de VC++. – jalf

+0

@Jalf - Estoy de acuerdo en que es una preferencia y hay compensaciones. He editado mi respuesta. –

3

Ver la respuesta a esta pregunta: How do I make a fully statically linked .exe with Visual Studio Express 2005 ?. Es para VS2005 Express, pero la respuesta aún se cumple.

Para el tiempo de ejecución de C-ir a los configuración del proyecto, seleccionar C/C++ y luego 'Código Generación'. Cambie la configuración 'runtime library' a 'multiproceso' en lugar de 'dll multiproceso'.

Si está utilizando cualquier otra biblioteca que pueda necesitar para decirle al enlazador a ignorar el CRT vinculada de forma dinámica explícitamente.

0

Puede instalar la redistribución en tiempo de ejecución C en la máquina de destino y su ejecutable también se ejecutará allí con el tiempo de ejecución de C enlazado dinámicamente.

(Oh, lo siento, eso ya se ha mencionado).

Cuestiones relacionadas