clang et clang ++ non trouvés après l'installation du package clang-3.5

23

Après avoir installé le paquet clang-3.5 , taper clang ou clang++ sur la ligne de commande me donne un message indiquant dans quels paquets ces programmes peuvent être trouvés. Tentative d'exécuter à nouveau l'installation de clang-3.5 , apt states il est déjà installé et à la dernière version.

L'installation d'origine a été effectuée avec la commande suivante:

sudo apt-get install clang-3.5 llvm

build-essential a été installé précédemment.

Des idées sur ce qui peut s'être passé?

    
posée Dr. Spatula 12.02.2015 - 16:17
la source

7 réponses

29

C'est là, mais ça s'appelle toujours clang-3.5.

Vous pouvez soit l'exécuter en tant que clang-3.5 (ou clang++-3.5 ), soit créer un lien symbolique menant à ce lien comme je l'ai fait (l'installation de clang standard n'a pas fonctionné):

sudo ln -s /usr/bin/clang-3.5 /usr/bin/clang
sudo ln -s /usr/bin/clang++-3.5 /usr/bin/clang++

Laide travail autour, peut-être; mais au moins ça marche pour le moment:)

    
réponse donnée Johan Wendin 14.02.2015 - 20:01
la source
10

Pour utiliser clang comme valeur par défaut, cc et c++ , utilisez update-alternatives :

It is possible for several programs fulfilling the same or similar functions to be installed on a single system at the same time. For example, many systems have several text editors installed at once. This gives choice to the users of a system, allowing each to use a different editor, if desired, but makes it difficult for a program to make a good choice of editor to invoke if the user has not specified a particular preference.

donc vous devez d’abord ajouter clang-3.5 ou clang++-3.5 comme alternatives à par ex. gcc et g++ :

sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang-3.5 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-3.5 100

Si à tout moment vous devez revenir à gcc ou g++ , vous pouvez utiliser l'option --config :

sudo update-alternatives --config c++
    
réponse donnée Yan Foto 20.11.2015 - 11:52
la source
5

Sous Ubuntu 15.04, vous pouvez également installer le paquetage clang le long du paquetage clang-x.x. Vous pouvez ensuite taper clang ++ et l'exécutable correspondant doit être trouvé.

sudo apt-get install clang
    
réponse donnée tisch 20.05.2015 - 18:34
la source
3

En ajoutant à la réponse de Yan Foto (et juste au cas où votre objectif est d’obtenir un clang utilisable sans l’utiliser nécessairement comme cc ), vous pouvez en fait ajouter l’ensemble des programmes en une seule fois en utilisant

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.8 380 \
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-3.8 \
--slave /usr/bin/clang-check clang-check /usr/bin/clang-check-3.8 \
--slave /usr/bin/clang-query clang-query /usr/bin/clang-query-3.8 \
--slave /usr/bin/clang-rename clang-rename /usr/bin/clang-rename-3.8

(Notez que l'ensemble des fichiers binaires fournis avec chaque version de clang peut différer. Par exemple, 3.6 a clang-tblgen , ce n'est pas le cas de 3.8.)

Si vous répétez cette opération pour chaque version de clang que vous installez, vous pourrez basculer entre elles à l'aide d'une seule commande update-alternatives .

(Entre-temps, apparemment, il reste toujours un débat sur l'opportunité d'inclure ou non ces liens dans les paquets Ubuntu: lien )

    
réponse donnée Latanius 15.12.2016 - 03:43
la source
0

Créez un fichier .bashrc dans votre répertoire personnel. Tapez cette ligne de code.

alias clang ++="clang ++ - 3.5"

Fermez votre terminal. Ouvrez-le à nouveau. Puis essayez à nouveau de compiler votre programme.

D'après ce que je peux dire, clang ne fonctionnera que si vous indiquez la version dans la commande "clang ++ - 3.5". Donc, j'ai juste aliasé le nom dans mon fichier .bashrc. Je n'ai donc qu'à taper "clang ++".

À propos, j'ai téléchargé Clang 3.5, ajustez donc le conseil précédent à votre version.

    
réponse donnée Digipen 14.01.2016 - 22:12
la source
0

Si vous avez correctement installé Clang, un autre moyen très simple de vous éviter le problème de saisir le numéro de version avec le nom du programme consiste à utiliser la fonction de saisie semi-automatique, par exemple (après avoir installé clang ++ - 3.5):

clang+[TAB][ENTER]

Il vous suffit donc de taper clang+ , d'appuyer sur Tab et sur Entrée . Fonctionne de la même manière avec les noms de répertoires, les noms de fichiers, etc. (Cela ne vous aidera toutefois pas si plusieurs versions d’un programme sont installées.)

    
réponse donnée smay 09.05.2016 - 15:46
la source
0

Ceci devrait définir les alternatives de mise à jour pour clang- 4.0 si clang- 3.8 (comme sur Ubuntu 16.04) est installé:

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-4.0 100
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-4.0 100
sudo update-alternatives --install /usr/bin/clang-apply-replacements clang-apply-replacements /usr/bin/clang-apply-replacements-4.0 100
sudo update-alternatives --install /usr/bin/clang-check clang-check /usr/bin/clang-check-4.0 100
sudo update-alternatives --install /usr/bin/clang-query clang-query /usr/bin/clang-query-4.0 100
sudo update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-4.0 100
sudo update-alternatives --install /usr/bin/scan-build scan-build /usr/bin/scan-build-4.0 100
sudo update-alternatives --install /usr/bin/scan-view scan-view /usr/bin/scan-view-4.0 100
    
réponse donnée Bl00dh0und 29.05.2017 - 16:14
la source

Lire d'autres questions sur les étiquettes