Pregunta

Tengo VS 2008 y quiero que mi aplicación para que funcione con Windows 98 sin necesidad de incluir Msvcr90.dll .. Win98 viene con MSVCR60 así ¿cómo podría decirle MSVC para hacer esto? Es mi única opción para cazar a Visual Studio 6?

Gracias

* También quiero evitar la vinculación estática msvcr

¿Fue útil?

Solución

No se puede indicar a Visual Studio para utilizar una versión anterior de la biblioteca de tiempo de ejecución. Incluso si usted puede conseguir que se compile con la antigua biblioteca, la propia aplicación no va a funcionar correctamente porque el compilador va a insertar llamadas a funciones que espera estar en la biblioteca, que podría no ser el caso.

también quiero evitar la vinculación estática msvcr
¿Por qué? Eso parece como una solución perfectamente válida a este problema. Claro, usted paga alrededor de 100 kb de tamaño código para ello, pero que vale la pena por haber sido obligado a utilizar Visual Studio 6 con errores de compilador y no conforme.

También puedes, simplemente incluir el MSVC ++ redistribuible que contendría las DLL correctos y no requeriría la vinculación estática de la biblioteca estándar.

Otros consejos

Si desea orientar Windows 98, sus opciones son:

  • En primer lugar, una versión máxima de Visual Studio 2005. 2008 y hasta estampar un sistema operativo mínimo de 5.0 ver en la cabecera EXE -. Windows 98 simplemente no cargar binarios producidos por VS 2008

En cuanto a la distribución CRT:

  • Distribuir el nuevo tiempo de ejecución con la aplicación. Yo prefiero este enfoque si su aplicación tiene muchos archivos DLL como la vinculación estática hace que todo el lote más grande de lo que debe ser. Además, hay muchas restricciones para el uso de C ++ de DLL que se alivian si al menos comparten una aplicación c-tiempo de ejecución entre todos los módulos en un proceso.

Si usted no es un usuario "pesado" de C ++ cuenta como excepciones, y la STL, que podría ser capaz de salirse con la no vinculación en cualquier CRT en absoluto. De lo contrario, sus opciones son:

  1. El uso de un compilador que no es MS como MinGW. MinGW utiliza la última GCC para que pueda obtener C99 y C ++ 98, C ++ 03, etc. TR1 y utiliza msvcrt.dll. Código :: Bloques es un IDE "ok", si usted nunca ha utilizado Visual Sutdio y / o han tomado algunos demasiados golpes en la cabeza.
  2. Descargar el DDK de Windows. Tendrá que construir desde la línea de comandos, y ensuciarse con los archivos de maquillaje, pero es gratis, y el DDK utiliza el compilador y enlazador VS2005, pero especialmente a la configuración de enlace contra msvcrt.dll, NO msvcr80.dll. Se estimó que era demasiado arriesgado que requiere controladores de dispositivos de enlace contra un tiempo de ejecución que podrían no estar allí.
  3. Visual Studio 6 como la opción de reserva final. apoyo horrible horrible para C ++ 98. Por lo menos se obtiene una bonita IDE y debe ser condenadamente rápido ahora que los ordenadores se han duplicado teóricamente en la velocidad / capacidad 8 veces desde que se puso en marcha.

El bajo costo operativo Microsoft Visual Studio C Tiempo de ejecución es una forma estática enlazable C Tiempo de ejecución que hace máximo uso de la DLL disponible ya ha distribuido con Windows.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top