2011-01-04 21 views
17

Tengo una gran solución de Visual Studio 2010. Trabajo con Visual Studio 2005, por lo que quiero convertir la solución a la versión deseada. Básicamente, es un código portátil de C++, por lo que también debe compilarse en Visual Studio 2005. Cambiar la versión en el archivo * .sln no ayuda porque el formato * .vcxproj es completamente diferente del formato anterior * .vcproj.¿Cómo degradar la solución de Visual Studio 2010 a Visual Studio 2005?

Volver a crear la solución a mano no es una opción debido a su tamaño. También puede haber algunos indicadores del compilador no predeterminados, dependencias, etc. que no conozco (y no puedo ver TODA esta basura XML que no entiendo).

Ya hay una pregunta relacionada en How Do I Downgrade a C++ Visual Studio 2008 Project to 2005. Sin embargo, la utilidad sugerida admite como máximo Visual Studio 2008.

¿Alguna sugerencia?

+6

Creo que eres SOL –

+2

Si hay una manera en la que no confiaría en ella. Hágalo manualmente. –

+0

¿Has intentado con este http://sourceforge.net/projects/vsconverter/?[No lo intenté] –

Respuesta

0

Yo no lo he probado, pero esto parece prometedor:

http://www.emmet-gray.com/Articles/ProjectConverter.htm

editar: No, no es prometedor, lo siento :-(

+3

Alas "Hay un formato de archivo de proyecto completamente nuevo para C/C++ en VS2010, por lo que esta utilidad no podrá convertir proyectos C/C++ ao desde este nuevo formato. .. " – Rup

+0

Sí, comprobado. No funciona "... actualmente no compatible". – ybungalobill

+0

Ack, eso apesta. Esperaba que fuera solo una declaración antigua, ya que las capturas de pantalla lo llevarían a creer que funcionó. Creo que eres SOL .. :-( – Caladain

1

En mi trabajo hizo una utilidad que utiliza el EnvDTE.dll y escaneé un archivo vcproj y, opcionalmente, todos los archivos vcproj dentro de un archivo sln. Comparó todas las configuraciones con una "plantilla" y emitiría una advertencia u opcionalmente actualizaría la configuración para corregir los valores. Usamos esta utilidad para que la configuración sea verificado que es correcto y consistente en todos los proyectos. No he actualizado el ut ilidad hasta 2010 debido a otras prioridades.

EnvDTE no ha cambiado mucho desde Visual Studio 2008 hasta Visual Studio 2010. Quizás sea posible crear una utilidad simple que abra el archivo vcxproj utilizando DTE100 y lo guarde con DTE90 o anterior.

1

La manera más fácil es, probablemente, crear un nuevo proyecto en VS 2005, y usar el cuadro de diálogo agregar elemento existente para agregar el código al proyecto. Sugiero usar 'Proyecto vacío' como el tipo de proyecto, para que no tengas mucha basura generada automáticamente que de todos modos eliminarás.

+1

No resuelve la parte más difícil: no puedo configurar todos los indicadores y dependencias del compilador en una solución de proyecto ~ 100 a mano. – ybungalobill

4

Realmente es una mierda, que todos los IDE propietarios de hoy piensen que necesitan crear su propio formato de archivo de proyecto. "Estimados desarrolladores de IDE, simplemente usen Makefiles y creen una buena GUI para que también las personas sin conocimiento de Makefile puedan usarlo". En VS6 era al menos posible importar/exportar Makefiles, pero hoy no más. Y fue posible usar nmake para compilaciones automatizadas. No es necesario instalar IDE, solo la cadena de herramientas que se puede obtener con un simple pago sin instalación.

utilizo CMake ahora. Es gratuito, es multiplataforma, está bien soportado en IDEs gratuitos como KDevelop, QtCreator, etc. Puede generar proyectos de Makefiles y Visual Studio. Así que solo mantiene un origen de proyecto, el archivo CMakeLists.txt y puede trabajar con cualquier IDE. No hay problema con las diferentes versiones de Visual Studio o con otros formatos de archivos de proyectos propietarios. De esta forma puede generar o desarrollar proyectos de VS y puede generar Makefiles para construcciones de línea de comando utilizando nmake como en los viejos tiempos.

Por cierto, es mucho más fácil cambiar la configuración en un CMakeLists.txt que hacer clic en varios cuadros de diálogo GUI. Pero esta es una cuestión de preferencias personales.

+3

1) VS admite proyectos 'nmake' hasta hoy. 2) MS cambió a MSBuild para describir la construcción de los proyectos. 3) Soy escéptico en cuanto a la medida en que es posible hacer un makefile de edición GUI. 4) ¿Por qué crees que gnu make debería ser el "estándar"? Es un sistema de construcción feo. Requiere que escribas todo esto a mano (buena suerte haciendo que tus archivos MAK sean portables en diferentes cadenas de herramientas), o utilizas las herramientas de autoconf que son incluso más feas. Hay mejores sistemas de compilación (boost build, scons). – ybungalobill

+1

5) Odio CMake, porque al igual que con configure/make no es un sistema de compilación de un solo paso. Intenta construir 4 configuraciones diferentes en una invocación de línea de comando ... boost.build lo resuelve en gran medida. 6) ¿Cómo responde la pregunta? – ybungalobill

+1

De todo lo que ha dicho, estoy de acuerdo con usted en una cosa: apesta que cada IDE tenga su propio formato de archivo de proyecto. Además, los proyectos de la OMI no deberían existir. IDE debería ser capaz de 'abrir' makefile arbitrario (ya sea nmake, gmake, boost.build o cualquier otro sistema de compilación) que usará solo con fines de compilación, y en lugar del "Explorador de soluciones" quiero ver un simple y antiguo árbol del sistema de archivos rooteado en el archivo MAKE abierto. – ybungalobill

Cuestiones relacionadas