2009-12-12 23 views
7

Hola, estoy armando una cadena de herramientas en mi Windows Box para Cross Platform C++ Development. Planeo usar Boost.Build para compilar y Boost :: Test para pruebas unitarias. Usaré Mercurial para mi VCS porque puedo lanzar el repositorio en mi HD externo y luego pasarlo a mi ventana o partición de Linux. Lo principal que se interpone en mi camino es editor compilador/depurador. ¿Alguien tiene alguna sugerencia?Cross Platform C++ Tool Chain

Con Boost.Build puedo construir técnicamente con cualquier compilador que admita fácilmente. Eso significa MSVC en Windows y GCC en Linux usando la misma secuencia de comandos con un indicador.

+0

¿De verdad va a ejecutar el IDE en ambas plataformas?Supongo que esto podría ser útil para la depuración específica de la plataforma, pero en su mayor parte creo que estarías desarrollando solo en una plataforma (suena como Windows en tu caso) y luego compilando para ambos. –

+0

Honestamente, no me importaría menos si uso un IDE en muchos casos. Los encuentro en el camino. Sin embargo, sería bueno usar el mismo editor. – blewisjr

+0

¿Qué plataformas? Si solo mencionó Linux y Windows, le sugiero que use una VM en lugar de un sistema de arranque dual. Luego, podría usar herramientas nativas y ejecutar compilaciones nativas de Linux desde Windows (o al revés). También hace las pruebas más rápidas y simples. Utilice la versión gratuita de VMWare Server, por ejemplo. – Clifford

Respuesta

7

Puedo sugerir CMake en Windows y Linux, ya que puede generar proyectos nativos de Visual Studio, así como proyectos Eclipse CDT y makefiles simples.

Si tiene como objetivo múltiples plataformas, pero se encuentra desarrollando principalmente en una sola plataforma, recomiendo un sistema de compilación/integración continuo para garantizar que el check-in de una plataforma no rompa la construcción de las otras.

+0

Sí CMake es una opción definitiva aquí. En realidad, solo lo estaba mirando. Ese sistema de construcción continua es exactamente lo que esperaba lograr de forma más o menos manual. Quería sacar del repositorio y construir en el otro sistema operativo para asegurarme de que no se rompió. Mi problema principal es si quiero desarrollar usando archivos de proyecto de un IDE o no para empezar. Si desarrollo con algo así como vim y compilo con make files a través de la línea de comando y depuro de la misma manera, parece más fácil. – blewisjr

+0

La única pregunta real aquí es cómo iniciar el proyecto y presentarlo en el vcs etc ... – blewisjr

+0

+1 Recomiendo CruiseControl (http://cruisecontrol.sourceforge.net/) para la integración continua. Personalmente, sugiero usar una máquina virtual o una caja separada en lugar de desarrollo cruzado. La integración continua automatizará las compilaciones de la plataforma e incluso puede ejecutar las pruebas e informar los resultados (por correo electrónico). Una VM con herramientas nativas es tan barata o menos costosa que el desarrollo cruzado. – Clifford

6

Code::Blocks es un CITE ID de plataforma libre, de código abierto y multiplataforma. Es compatible con los compiladores MS y GCC, entre otros.

3

puede usar gcc/g ++ en Windows también. en cuanto a los depuradores: gdb y ddd pueden estar en cygwin. editor: vim (cuidado: es realmente un editor programable, no un IDE).

+0

¿Sería difícil aprender las funciones más avanzadas? Normalmente solo las uso para ediciones rápidas de archivos de configuración. – blewisjr

+0

la respuesta depende de lo que es una "característica más avanzada". pero no, no hay nada * difícil * acerca de cualquier parte de vim, pero seguirás olvidando cosas que rara vez usas, por supuesto. –

8

Creador de Qt usando MinGW en Windows y el compilador de GNU en Linux. Eso es lo que uso y funciona perfectamente bien. Tenga en cuenta que no tiene que usar Qt al desarrollar con Qt Creator.

4

Lo principal en mi camino es el compilador/depurador del editor . ¿Alguien tiene alguna sugerencia?

Sí: Qt Creator como uno descargar e instalar va a satisfacer sus peticiones tres - elegir la ruta de licencia 'LGPL' y download and install the SDK la que incluso instala gcc, g ++, ... para usted. El depurador integrado es muy bueno, y obtienes un comportamiento multiplataforma desde tu código y tus herramientas.

+0

¿QT Creator también instala el juego de herramientas GCC en Windows? – blewisjr

+1

Sí, si elige el SDK, es por eso que es 280mb. Pero es _easy_ y _convenient_ como una descarga única --- y todo funciona. Por supuesto, también puede hacer todo en componentes pero eso es más trabajo de configurar y tedioso en Windows ya que no hay apt-get allí :) –

+0

sí apt es así de asombroso: P – blewisjr

1

Vim, GDB, gcc/g ++, makefile - se puede utilizar en ambos - Windows y Unix :)

Sin embargo, otro voto para Code Blocks o Qt Creator.

Hay herramientas comerciales también: al lado de Visual Studio existen MagicC++ (IDE), como depuradores TotalView, Allinea, Zero-bugs, UndoDB ... si desea quedarse con VStudio comprobar estos VSBridge y WinGDB.

De todos modos, siempre puedes usar MSVC en Windows y otras herramientas en Unix (gdb/DDD para la depuración, vim/emacs para la edición) - He trabajado de esta manera durante muchos años. El entorno común para todas las plataformas es agradable, pero a veces es muy difícil (casi imposible) "forzarlo" en la empresa (especialmente las grandes empresas) ;-)