para descargar compilar compilador comandos c++ windows qt c++11
here

c++ - compilar - descargar g++ para windows



Compilador de Windows C++ con soporte completo de C++ 11(debería funcionar con Qt) (3)

¿Qué compilador de C ++ tiene actualmente compatibilidad completa con C ++ 11 en la plataforma de Windows?

El compilador de Microsoft actualmente no tiene soporte completo de C ++ 11 (y no se agregará pronto).
MinGW g ++ (de mingw.org) no es compatible con std::thread fuera de la caja. Tampoco puede compilar fuentes de Qt 4 (se agota la memoria al compilar QtGuid4.dll, las soluciones conocidas no me funcionaron).
He desperdiciado varios días tratando de hacer clang en Windows, logré compilarlo, pero no pude habilitar el soporte de C ++ 11 porque requería libstdc ++ que (creo) no estaba portado a la plataforma de Windows en ese momento. Qt 4 tampoco lo admite.

¿Qué más hay ahí? He trabajado para C ++ 03 durante mucho tiempo y me gustaría dar un giro a las nuevas funciones, pero en realidad no quiero una herramienta con soporte incompleto (eso agregará más dolor de cabeza al escribir código) o puede quedarse sin memoria (en el sistema de 8 GB) al vincular una biblioteca.

Estoy trabajando en Windows 7 64 bits, y aunque contar con soporte de 64 bits sería bueno, me interesan principalmente las aplicaciones de 32 bits, por lo que la posibilidad de producir ejecutables de 64 bits es opcional.

¿Alguna sugerencia?


Clang tiene soporte completo para Windows (módulo de errores estándar de biblioteca de Windows en libc ++). Puede descargar una compilación de windows "oficial" de clang 3.3 desde aquí: http://www.llvm.org/builds/

No incluye libc ++, por lo que deberá descargar esa o su biblioteca estándar de su elección. Recomiendo usar libc ++ si es posible, ya que esta es actualmente la implementación más completa de la biblioteca, aunque no sé qué tan bien funciona en Windows.


Core language wise, Clang 3.3 y GCC 4.8.1 ya son completamente compatibles con C ++ 11 (si están libres de errores es otro tema). Library (STL) wise, Clang 3.3 (con libc ++, pero ya sabes, libc ++ aún no se puede usar tanto en Windows como en Linux) es la única plataforma que se ajusta completamente a C ++ 11.

MSVC, el último, Visual C ++ 2013 (actualmente RC, será RTM en 2 días y estará disponible en general el 13 de noviembre) brinda un soporte mucho mejor para C ++ 11 en lenguaje central y STL, aunque aún no se ha completado. STL sabio, afaik, está completo.

Creo que eso depende de qué característica utilicen realmente tus códigos. ¿Se han utilizado todas las características nuevas de C ++ 11? Si el conjunto de características de Visual C ++ 2013 puede satisfacerlo, pruébelo. De lo contrario, clang ya ha proporcionado un puerto de Windows que puede integrarse a Visual Studio, y puede vincular a la biblioteca nativa (msvc c ++ runtime) ya (reclamada), creo que también puedes probarla.

Adición: Visual C ++ hoja de ruta 11/14 conformidad https://udta1g.blu.livefilestore.com/y2pMXBJL7l2a5UOf_pXnLXghSUhPWK8w5skFyc50SVFcMjVwa1guQnM6R0NNLN1buBUNPGbLBejpYXXBXSbqshQKKWVfQxvJjk2jGRPPbL-UBu7gaao4RxifZgPXY5ksdei/image1.png?psid=1


En primer lugar, consulte el gcc.gnu.org/gcc-4.8/cxx0x_status.html . Solo una propuesta no se implementó oficialmente todavía. Luego, eche un vistazo al estado de implementación de C ++ 11 en libstdc++ . Como puede ver, algunas características aún no se han implementado. Sin embargo, podemos afirmar que el soporte de C ++ 11 en GCC es más o menos completo y utilizable.

Ahora, con respecto a Windows: probablemente el mejor puerto nativo (¡no Cygwin !) De GCC , que personalmente considero de calidad de producción, es MinGW-w64 . Puedes descargarlo here . La última versión actual (en el momento de redactar este documento) se basa en GCC 4.8.2. Ya tiene soporte para std::thread . Además, ofrece todas las variaciones posibles:

  • Objetivos de 64 bits;
  • Objetivos de 32 bits;
  • Win32 hilos;
  • Hilos POSIX;
  • Excepciones SEH;
  • Excepciones DWARF;
  • SJLJ excepciones.

NOTA:
Tenga cuidado al elegir qué distribución descargar: para que std::thread esté disponible, necesita uno con hilos POSIX.

Además, confirmo que he construido Qt 4.8.4 y 4.8.5 yo mismo numerosas veces e incluso apuntando a 64 bits con esta herramienta. Pero eso no es todo, aquí hay una lista de algunos aspectos destacados que personalmente he construido con MinGW-w64 hasta el momento:

Creo que ser capaz de construir bases de código tan grandes y diversas como los objetivos de 64 bits con un buen viejo GCC para Windows es un logro milagroso del equipo desarrollador de MinGW-w64. Una vez más, demuestra la calidad de la cadena de herramientas.

Qt 5

Recientemente construí Qt 5.1.1 usando MinGW-w64 4.8.2 apuntando a x64. Con todo, fue bastante sencillo, pero hay algunos problemas menores que deben corregirse antes de la compilación. He recopilado cuidadosamente todos los parches necesarios y he automatizado todo el proceso de parchado, construcción e instalación con un simple script por lotes. Si estás interesado, mira mi Qt para Windows . El uso es tan simple que me saltearé el comentario y simplemente les dejaré que lean el script por lotes. Tenga en cuenta que necesita el patch.exe de Unix para aplicar los parches que puede obtener, por ejemplo, de MSYS o MSYS2 (consulte a continuación). Puede obtener el código fuente de Qt 5.1.1 here .

NOTA:
No parece razonable reinventar la rueda (mantenimiento de scripts de compilación personal y parches para Qt) más. MSYS2 (ver a continuación) ahora se ocupa de everything . Es decir, si necesita reconstruir Qt con diferentes opciones y / o banderas, simplemente edite el archivo PKGBUILD correspondiente localmente y use la utilidad makepkg-mingw consecuencia.

NOTA:
En realidad, el proyecto Qt recomienda oficialmente el uso de MinGW-w64 y MSYS2 .

Acerca de MSYS2

Esto no fue preguntado directamente, pero tengo ganas de agregarlo aquí ya que este es un proyecto hermano de MinGW-w64, y es muy útil para cualquiera que tenga que desarrollar un software nativo para Windows que use un entorno tipo Unix.

Aquellos de ustedes que alguna vez han usado el MSYS original probablemente saben cuántos años tienen. No se ha mejorado por años, y todas las utilidades de Unix ya están terriblemente desactualizadas.

Los chicos que proporcionan compilaciones de MinGW-w64 (enumeradas anteriormente), ahora también proporcionan compilaciones de MSYS2 que puedes descargar here . Recientemente, salió de la versión beta, así que asegúrese de consultar la última versión. Está diseñado para arquitecturas x86 y x64 (con el toolchain MinGW-w64 mismo). Todas las utilidades se actualizan a sus últimas versiones. Por ejemplo, ya puedes disfrutar de cosas como: Bash 4.2, Make 3.99, Git 1.8.4 y muchas más; que se ejecutan nativamente en Windows desde el primer momento

NOTA:
Asegúrate de verificar que su Wiki tenga un buen comienzo.

Una historia corta más allá de MinGW-w64

El MinGW original fue muy lento en las mejoras, y sus desarrolladores ni siquiera consideraron agregar soporte de generación de destino de 64 bits. Un tipo ambicioso, Kai Tietz, se hizo cargo y lo bifurcó ya que su compañía necesitaba construir objetivos de 64 bits en Windows. Así nació el proyecto MinGW-w64. Aunque el objetivo principal era agregar soporte de 64 bits, los desarrolladores han mejorado la cadena de herramientas en muchos aspectos y abordado una gran cantidad de otros problemas. Desde entonces, el proyecto MinGW-w64 ha crecido y ahora está muy por delante de MinGW en términos de calidad. Cuando MinGW-w64 propuso a MinGW unirse a las casas y trabajar juntas, los desarrolladores de MinGW mostraron una reacción inadecuada y se negaron a cooperar. Como resultado, hoy hay 2 proyectos con un nombre similar que a veces causa confusión, pero las diferencias en calidad y soporte hablan por sí mismos.