LLVM C++ IDE para Windows

7 minutos de lectura

avatar de usuario
osgx

¿Hay algún C/C++ IDE para Windows, que es integrado con el compilador LLVM (y el analizador Clang C/C++), tal como lo hace el Xcode moderno.

Tengo Dev-Cpp (usa GCC desactualizado) y Código::Bloques (con algo de GCC). Pero GCC me da mensajes de error muy crípticos. Quiero obtener algunos mensajes de error más fáciles de usar de la interfaz de Clang.

Sí, Clang no se pudo usar con código C++ complejo, pero Trunk Clang ya puede compilar LLVM por sí mismo. Así que me pregunto si hay alguno de los IDE de LLVM en desarrollo o en versiones beta.

Sí, puedo usar Clang como otro compilador con IDE compatibles con GCC. Pero, ¿hay algún IDE, que sean integrado con Clang? Clang tiene un formato de salida diferente, por lo que el IDE debe analizarlo. Clang puede proporcionar análisis IDE de fuentes. Clang tiene una opción de análisis, que debe ser compatible con un IDE. Echa un vistazo, por ejemplo http://iosdevelopertips.com/xcode/static-code-analysis-clang-and-xcode-3-2.html

Y la característica más buscada de Clang es el autocompletado inteligente, por lo que el IDE puede sugerir solo variantes sintaxis correctas, por ejemplo, enumerar solo campos de esta estructura, clase.

Resultados: (combinado de respuestas):

  • Me pregunto si en el futuro, Emacs obtendrá soporte para Clang. Por cierto, hay un modo menor de emacs aquí llvm.org/svn/llvm-project/cfe/trunk/utils/… aunque no lo he probado yo mismo.

    – aturde

    10 de julio de 2010 a las 11:22

  • Code::Blocks funciona con Clang.

    –James Harper

    26 de agosto de 2014 a las 6:53


avatar de usuario
Petri Tuononen

LLVM es compatible con Eclipse CDT a través del complemento (llvm4eclipsecdt). Es el solo IDE compatible con Windows compatible con LLVM por lo que sé. Soy el autor principal del complemento, por lo que puede hacer cualquier pregunta relacionada con él.

El complemento ofrece la funcionalidad básica para la compilación de Clang y llvm-gcc y es compatible con Linux y Windows (con Cygwin y MiNGW). Las herramientas LLVM como el ensamblador, el archivador, el enlazador y el compilador estático (llc) están configuradas y se pueden personalizar a través de la interfaz de usuario. El complemento ofrece todos los beneficios que IDE puede ofrecer, como una fácil configuración y compilación con una sola acción.

El único inconveniente es que aún no está listo, ya que carece de algunas de las funciones avanzadas que LLVM puede ofrecer, como el análisis de Clang y la finalización automática inteligente. El complemento tampoco se probó bien y es posible que no funcione perfectamente, por lo tanto, espero poder obtener comentarios de los usuarios a través de la lista de correo que se encuentra en el sitio de desarrollo de código de Google (enumerado a continuación). Me gustaría tener tiempo para desarrollarlo más. Solo lo desarrollo en mi tiempo libre, que es muy limitado. Doy la bienvenida a cualquier desarrollador a participar y contribuir al proyecto.

Sitio de desarrollo:
http://code.google.com/p/llvm4eclipsecdt/
https://github.com/TuononenP/llvm4eclipsecdt

Mercado de Eclipse (100% gratuito y de código abierto):
http://marketplace.eclipse.org/content/llvm-toolchain-eclipse-cdt

ACTUALIZACIÓN: el complemento está obsoleto. En su lugar, instale “C/C++ LLVM-Family Compiler Build Support” en Lenguajes de programación utilizando el sitio de actualización oficial de Eclipse, por ejemplo http://download.eclipse.org/releases/mars

  • Hola. ¡Me alegro de verte aquí! Usted dice “Se proporcionan binarios MinGW para LLVM y front-end”. ¿Puede agregar (aquí o en el sitio de código de Google) un enlace a los binarios mingw de LLVM?

    – osgx

    12 de mayo de 2011 a las 14:07

  • También, sobre la tesis de su blog. clang no es para ada o fortran: “Para otros lenguajes, incluidos Java, Fortran y Ada, LLVM sigue dependiendo de GCC”

    – osgx

    12 de mayo de 2011 a las 14:19

  • Puede obtener archivos binarios de mingw para LLVM 2.9 desde aquí: llvm.org/releases/download.html#2.9

    – Petri Tuononen

    13 de mayo de 2011 a las 7:58

  • Buena nota: tienes razón en que LLVM-GCC es para otros idiomas. Debería haber escrito que “compila LLVM” sin mencionar un front-end específico, pero eliminaré Fortran y Ada del resumen.

    – Petri Tuononen

    13 de mayo de 2011 a las 8:03

  • También puede integrar el compilador LLVM con Microsoft VS. Aqui esta el link llvm.org/docs/GettingStartedVS.html. espero que esto ayude.

    – Krishna Ozá

    27 de agosto de 2014 a las 5:09

avatar de usuario
ohmántica

El colaborador de LLVM, Dan Gohman, agregó recientemente la finalización del código Clang a empuje.

http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/vim/vimrc está diseñado para usarse en el desarrollo de LLVM y ayuda con el estilo de codificación de LLVM, pero la parte de finalización del código debería ser lo suficientemente fácil de extraer.

Sí, sí, vim no es un IDE, pero puede ser útil conocerlo.

[edit] https://llvm.org/svn/llvm-project/cfe/trunk/utils/clang-completion-mode.el proporciona una opción similar para emacs.

avatar de usuario
Kokizzu

Creador Qt funciona también con Clang…

  • Gracias, agregado a la pregunta. ¿Puedes decir desde qué versión de QTcreator hay soporte para clang?

    – osgx

    25 de marzo de 2012 a las 22:15

  • 2.4.1 funcionaría… en Linux, no tiene que agregar la cadena de herramientas clang manualmente… aquí está la información sobre cómo agregar la cadena de herramientas si está usando Windows: doc.qt.nokia.com/qtcreator-2.4/creator-tool-chains.html

    – Kokizzu

    26 de marzo de 2012 a las 1:47


  • pero solo lo está usando para autocompletar y analizar

    –James Harper

    26 de agosto de 2014 a las 6:51

Ahora están agregando soporte para Visual Studio Enlace. se puede descargar aquí.

avatar de usuario
Pablo Fultz II

No hay uno para Windows. Pero si desea un autocompletado inteligente, netbeans tiene una de las mejores terminaciones de código para C++. Analiza macros, contenedores genéricos y punteros inteligentes. Además, proporciona refactorización, inserción de código de constructores y getters y setters. Funciona muy bien. Sin embargo, dado que todavía usa un analizador separado para C++, no detecta tantos errores como el compilador.

Netbeans para Java está integrado con el compilador, por lo que brinda errores y advertencias a medida que escribe, así como la finalización del código sintácticamente correcta. Por lo tanto, es muy probable que netbeans se integre en el futuro con clang para proporcionar el mismo tipo de características para C++.

  • ¿Cómo analiza netbeans la fuente? ¿Qué interfaz de C/C++ utiliza?

    – osgx

    24 de diciembre de 2010 a las 5:01

  • Sí, netbeans analiza la fuente en sí para completar el código. Quizás en el futuro usen el sonido metálico para analizar, pero eso aún no se ha integrado. Puede seleccionar diferentes compiladores para netbeans gcc o clang. Todavía no lo he probado con clang.

    –Paul Fultz II

    24 de diciembre de 2010 a las 14:45

avatar de usuario
osgx

Se ha agregado compatibilidad con LLVM a Eclipse: http://marketplace.eclipse.org/node/28778

  • ¿Cómo analiza netbeans la fuente? ¿Qué interfaz de C/C++ utiliza?

    – osgx

    24 de diciembre de 2010 a las 5:01

  • Sí, netbeans analiza la fuente en sí para completar el código. Quizás en el futuro usen el sonido metálico para analizar, pero eso aún no se ha integrado. Puede seleccionar diferentes compiladores para netbeans gcc o clang. Todavía no lo he probado con clang.

    –Paul Fultz II

    24 de diciembre de 2010 a las 14:45

avatar de usuario
Michael Wróbel

Además, CodeLite tiene un backend de Clang para completar código inteligente. Ver Uso de finalización de código clang con CodeLite.

CodeLite está disponible para Windows, sin embargo, aún no lo he probado en Windows.

¿Ha sido útil esta solución?