J'ai installé Clang en utilisant apt-get dans Ubuntu, et je peux bien compiler des fichiers C en l'utilisant. Cependant, je ne sais pas comment compiler C++ à travers lui. Que dois-je faire pour compiler C++?
La commande clang
est pour C et la commande clang++
est pour C++.
En outre, pour la postérité - Clang (comme GCC) accepte le -x
commutateur pour définir la langue des fichiers d'entrée, par exemple,
$ clang -x c++ some_random_file.txt
Ce fil de la liste de diffusion explique la différence entre clang
et clang++
well: Différence entre clang et clang ++
Je ne sais pas pourquoi il n'y a pas de réponse directement au problème. Lorsque vous voulez compiler un programme C++, il est préférable d’utiliser clang++
. Par exemple, ce qui suit fonctionne pour moi:
clang++ -Wall -std=c++11 test.cc -o test
Si compilé correctement, il produira le fichier exécutable test
, et vous pourrez l'exécuter en utilisant ./test
.
Ou vous pouvez simplement utiliser clang++ test.cc
pour compiler le programme. Il produira un fichier exécutable par défaut nommé a.out
. Utilisation ./a.out
pour exécuter le fichier.
L'ensemble du processus ressemble beaucoup à g ++ si vous êtes familier avec g ++. Voir cet article pour vérifier quels avertissements sont inclus avec -Wall
option. Cette page affiche une liste des indicateurs de diagnostic pris en charge par Clang.
J'ai eu un problème similaire lors de la construction de Clang depuis la source (mais pas avec Sudo apt-get install
. Cela peut dépendre de la version d’Ubuntu que vous utilisez.
Il pourrait être intéressant de vérifier si clang++
peut trouver les emplacements corrects de vos bibliothèques C++:
Comparez les résultats de g++ -v <filename.cpp>
et clang++ -v <filename.cpp>
, sous "#include <...> la recherche commence ici:".