x64 visual sp1 microsoft c++ visual-studio-2008 visual-studio-2005 mfc

c++ - sp1 - Compatibilidad con Visual Studio 2008 Express MFC



microsoft visual c++ 2008 x64 (8)

Como puede ser conocido por muchos, las versiones Express de Visual Studio 2008 no incluyen soporte para MFC y algunos otros paquetes necesarios para compilar una gran cantidad de programas de Windows.

Entonces, aquí está mi problema:

Tengo la versión completa de Visual Studio 2005. He estado usando esto para compilar un proyecto en el que estaba trabajando un amigo mío, para poder probarlo y seguir rastreando errores y cosas. Recientemente, actualizó ese proyecto a VS 2008, que no tengo. Por lo tanto, descargué la versión expresa con la esperanza de que simplemente pudiera compilar con eso, pero no tuve suerte, se queja de que faltaban encabezados a izquierda y derecha.

Me parece que, dado que ya tengo la versión completa de VS 2005, estoy obligado a tener al menos alguna versión (quizás más antigua) de los archivos en cuestión que su proyecto necesita compilar.

¿Hay alguna manera de convencer a VS 2008 de que también busque en los directorios de 2005 los archivos de inclusión y los archivos de la biblioteca para compilar?

Además, ¿es esta una mala idea? Preferiría no salir y comprar VS 2008 por completo, ya que nunca lo usaré yo mismo. (2005 me funciona bien en este momento, y de todos modos tiendo a preferir GCC).

Gracias


La forma más simple de lidiar con esto sería revertir la solución y proyectar los archivos a su estado de Visual Studio 2005 desde el control de fuente (está utilizando el control de fuente ¿verdad?). En este punto, puede compilar el proyecto siempre que su amigo no use ninguna de las funciones de mfc 9 solamente.


Puede ir a Herramientas> Opciones> Proyectos y soluciones> Directorios de VC ++ y modificar las carpetas Incluir, Biblioteca y Fuente (¿y quizás referencia?) Para usar las carpetas de VC ++ 2005.

Supongo que simplemente reemplazas $ (VCInstallDir) con una ruta codificada VS 2005. Grabaría los valores originales antes de hacer esto.

Sin embargo, ¿acabas de intentar usar los archivos old vn y vcproj de OLD 2005? Sigue usando 2005 en tu lado y 2008 en el suyo. Mantenga dos conjuntos de estos archivos para cada IDE. Cualquier problema va a ser con la falta de coincidencia de la biblioteca, que no está evitando al usar las herramientas de 2008 con las bibliotecas de 2005.


Puede usar el compilador de VC ++ directamente desde la línea de comandos, o simplemente crear un nuevo proyecto con la fuente en Visual Studio 2005. A menos que esté usando alguna funcionalidad provista en las nuevas versiones de MFC / ATL en 2008 / 2008sp1, debería estar capaz de compilar el proyecto muy bien.

Consulte ("Crear proyecto desde una fuente existente") en Visual Studio 2005. Es lamentable que no incluyan estas bibliotecas con Express Editions.


Utilice las secuencias de comandos vcvars * .bat de Visual Studio 2005. Consulte esta publicación en blog de VC ++ Blog para ver cómo. Utilizará los viejos compiladores, pero el sistema de compilación de Visual Studio 2008.


Lo primero que probaría es cargar esto en VS 2005 simplemente modificando la versión de los archivos .sln y .vcproj. En .vcproj cambie la versión de 9.00 a 8.00 y en .sln cambie la versión de formato de 10.00 a 9.00.

Si no tiene cosas de lujo en el proyecto, tiene muchas posibilidades de poder usarlo así. También esto evitaría tener que actualizar 2 proyectos y archivos de solución.


Solo para que conste, lo he hecho (modificando los directorios de inclusión y de biblioteca desde dentro del IDE) y está funcionando bastante bien, tengo MFC, ATL, todo.


En este sitio web se muestra cómo se puede compilar el código MFC con las versiones de Visual Studio Express: enlace