2010-01-07 12 views
7

Estoy tomando un Introducción a C++ este semestre, así que tengo que configurar entornos de desarrollo en mis particiones de Windows y Ubuntu (cambio entre ellas). Estaba planeando usar GCC en ambos entornos para la coherencia y porque planeo hacer mi desarrollo serio de C++ en Linux con GCC.Costos y beneficios del entorno de desarrollo de Windows tipo Linux

Parece que la instalación de MSYS y MinGW es la mejor manera de usar GCC y replicar mi entorno de desarrollo de Linux. Sin embargo, simplemente configurar MSYS y MinGW en Windows parece ser un proceso largo y arduo, y me imagino que tendré limitaciones o problemas de compatibilidad en el futuro.

  • ¿Los beneficios de configurar un entorno de desarrollo MSYS Linux-like en Windows superan los costos?
  • ¿Podré usar todas las bibliotecas que podría si estuviera usando Visual C++?
+0

Los * "costos" * dependen de lo que contenga su curso; si solo utiliza bibliotecas estándar, no habrá ningún problema real. –

+1

El instalador de cygwin no es muy sencillo, cygwin ha sido tradicionalmente bastante intrusivo (hasta la reciente versión 1.7, no se permitió que coexistan varias copias de la DLL pacíficamente), y es difícil de desinstalar. No recuerdo que instalar MinGW y MSYS sea tan largo y arduo de un proceso, y tiene el beneficio de que compilará binarios Win32 nativos. – jamesdlin

Respuesta

11

Creo que esto va por el camino equivocado; en realidad, le sugiero que use Visual Studio en el entorno de Windows, en lugar de hacer todo lo posible para configurar GCC. Es un beneficio, no un inconveniente, ejecutar su código en múltiples compiladores de múltiples proveedores.

Tanto GCC como Visual Studio son altamente compatibles (al menos las versiones más recientes). No tendrá ningún problema con las bibliotecas estándar y se interpondrá entre ellas, y si tiene problemas, probablemente sea un problema en su código.

+0

Hmmm, no había pensado en los posibles beneficios de probar dos compiladores. Es como probar aplicaciones de Javascript en varios navegadores; uno podría revelar un problema que el otro echa de menos. Gracias por la diferente perspectiva. –

+0

No estoy seguro de que esto sea tan cierto, el estándar C++ es un poco mejor que javascript en diferentes navegadores. Para proyectos razonablemente complejos, usted puede pasar mucho tiempo manteniendo sincronizados los archivos make y los proyectos, y aprendiendo dónde están los indicadores del vinculador en VS IDE. –

+0

¡Por otro lado, el depurador VS es excelente! –

1

Si se queda con el automated installer, la instalación de MinGW no es dolorosa en absoluto. Desafortunadamente, actualmente le ofrece GCC 3.4.5, en lugar de la versión más reciente 4.4.0, que también proporcionan sans installer.

En realidad, para el trabajo del curso, 3.4.5 estará bien, me imagino.

3

Siempre he instalado cygwin en Windows. Para mí, Windows es completamente inutilizable sin él. Realmente nunca he tenido problemas con las DLL mencionadas anteriormente. Sin embargo, rara vez he usado el compilador GCC, por lo que no sé cómo se compara con Visual Studio para la programación general. Para cualquier cosa con una GUI de Windows o basada en Dot Net, definitivamente me quedaría con Visual Studio.

1

Use gcc en Ubuntu y Visual Studio en Windows para obtener exposición a ambos. Este es un curso introductorio para que Windows, Linux, Visual Studio, gcc sean solo las herramientas que necesita para dominar C++ y las estructuras de datos. El dominio de las herramientas llegará con el tiempo y cambiarán.

0

Personalmente desarrollo para Windows utilizando un entorno Linux puro utilizando mingw-gcc en Linux para compilar de forma cruzada para Windows. pongo un tutorial sobre cómo configurarlo para OpenSSL/Qt4 @http://www.limitlessfx.com

0

¿Usted hace esto para conseguir .EXEs o simplemente para ser capaz de trabajar en ambos sistemas operativos?

Si se siente más cómodo con GCC que con VC, es posible configurar Mingw/Cygwin pero no le da ninguna funcionalidad nueva (al lado de .exes). En su lugar, sugiero que convierta una de sus particiones en una máquina virtual - ¡de este modo puede tener ambos SO abiertos a la vez! (Mi elección personal es Windows dentro de Linux, YMMV.)

El beneficio de desarrollar en Linux es la disponibilidad de toneladas de herramientas de desarrollo y bibliotecas. Además, las grandes construcciones son notablemente más rápidas.

0

Como dijo "planeo hacer mi C++ grave en desarrollo en Linux con GCC", es posible que VC++ no sea lo que realmente desea. Muchas bibliotecas simplemente no compilan bien en VC++. Pruébalo tú mismo. En cambio, considere ejecutar Linux en Windows. Hay varias maneras de hacer esto:

  1. uso masilla para conectar a una máquina Linux, y utilizar Xming para ver las ventanas de la interfaz de usuario. Solo haría esto en una LAN.
  2. Considera la posibilidad de coLinux. Puede ejecutar Linux bajo Windows y simplemente apagar Linux cuando haya terminado.
  3. Considere otras opciones de virtualización como VMWare para ejecutar Linux. Más o menos lo mismo que coLinux, pero podría ser más fácil de configurar.

Es posible que desee instalar Linux directamente en su máquina. Siempre puede usar herramientas como Wine o VMWare para ejecutar Windows si lo necesita.

Cuestiones relacionadas