He instalado Clang usando apt-get en Ubuntu, y puedo compilar exitosamente archivos C usándolo. Sin embargo, no tengo idea de cómo compilar C++ a través de él. ¿Qué debo hacer para compilar C++?¿Cómo compilo C++ con Clang?
Respuesta
El comando clang
es para C, y el comando clang++
es para C++.
He tenido un problema similar al compilar Clang desde la fuente (pero no con sudo apt-get install
. Esto podría depender de la versión de Ubuntu que esté ejecutando).
Podría valer la pena comprobar si clang++
puede encontrar la ubicación correcta de las bibliotecas de C++:
comparar los resultados de g++ -v <filename.cpp>
y clang++ -v <filename.cpp>
, en "# include < ...> búsqueda comienza aquí:".
Además, para la posteridad - Sonido metálico (como GCC) acepta el interruptor -x
para establecer el idioma de los archivos de entrada, por ejemplo,
$ clang -x c++ some_random_file.txt
Este hilo lista de correo explica la diferencia entre clang
clang++
y así : Difference between clang and clang++
Tuve un error de enlazador con _clang -x C++ _ cuando compilé el archivo cpp con '#include
Ahora tengo el código fuente de Clang delante de mis ojos. Durante la compilación (en Windows), primero compila 'clang.exe', y luego copia ese ejecutable en' clang ++. Exe'. Por lo tanto, es el mismo archivo ejecutable, solo en tiempo de ejecución comprueba su propio nombre para distinguir si se debe comportar como compilador C o C++. HTH. –
Como nota, la opción '-x C++' fue muy útil para dar como '-extra-arg' a * clang-tidy *, para forzarlo a considerar que un archivo .h contiene C++ en vez de C. –
No sé por qué no hay una respuesta que solucione directamente el problema. Cuando desee compilar el programa C++, es mejor usar clang++
. Por ejemplo, las siguientes obras para mí:
clang++ -Wall -std=c++11 test.cc -o test
Si compilado correctamente, se producirá el archivo ejecutable test
, y se puede ejecutar el archivo utilizando ./test
.
O simplemente puede usar clang++ test.cc
para compilar el programa. Producirá un archivo ejecutable predeterminado llamado a.out
. Use ./a.out
para ejecutar el archivo.
Todo el proceso se parece mucho a g ++ si está familiarizado con g ++. Consulte this post para verificar qué advertencias se incluyen con la opción -Wall
. This page muestra una lista de indicadores de diagnóstico compatibles con Clang.
- 1. ¿Cómo escribo y compilo el código Objective-C?
- 2. ¿Cómo compilo archivos .rc cuando compilo con CL.exe?
- 3. Incluyendo encabezados C++ 11 con Clang/LLVM
- 4. Instrumentación dinámica con Clang
- 5. CMake clang y C++ 0x
- 6. Clang Const Qualified C++ Método
- 7. ¿Cómo compilo mi propia biblioteca C++ para Android?
- 8. ¿Cómo compilo una UDF Colmena
- 9. ¿Cómo compilo el código Perl dentro de un programa C?
- 10. diferencia entre clang y Apple clang?
- 11. clang ++ invocación de C++ 11
- 12. ¿Cómo compilo un archivo .c en mi Mac?
- 13. Encontrar Boost compilado con CLang con CMake
- 14. Usar Clang con MSVC 2010
- 15. ¿Cómo compilo programas de DOS en Debian?
- 16. ¿Cómo compilo en Linux para compartir con todas las distribuciones?
- 17. Problemas al compilar el Objetivo C con Clang (Ubuntu)
- 18. ¿Alternativa a -pg con Clang?
- 19. construyendo un analizador con clang
- 20. ¿Cómo compilo el soporte Readline en Ruby
- 21. Clang C Palabra clave 'clase' compilador?
- 22. Clang para el análisis difuso C++
- 23. ¿Cómo compilo jzmq para ZeroMQ en OSX?
- 24. ¿Cómo compilo un módulo sin EntryPoint? .
- 25. C++ g ++ llvm-clang perfil de compilador
- 26. ¿Qué sucede cuando compilo?
- 27. ¿Cómo compilo jrxml para obtener jasper?
- 28. clang completo no funciona
- 29. ¿Cómo puedo usar las características de C++ 11 en Clang?
- 30. Usando LLVM Clang 2.6 con Xcode 3.2
No, no funciona. ¿Necesitamos instalarlo adicionalmente? – pythonic
Me temo que mi bola de cristal está defectuosa, por lo que tendría que decirnos si hay algún mensaje de error;) –
@ user1018562 Defina "no funciona". ¿Es ese 'comando no encontrado' u otro error? – adl