wie wähle ich eine bestimmte gcc-toolchain in clang aus?

wie wähle ich eine bestimmte gcc-toolchain in clang aus?


Clang wählt automatisch die gcc-Version mit der höchsten Version:


$ clang++ -v main.cpp
clang version 3.8.1-12
(tags/RELEASE_381/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9.4
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.2.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.0.1
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.4.1
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.2.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.0.1
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.0.1

Wie kann ich Clang dazu zwingen, eine andere gcc-Installation zu verwenden, sagen wir 5.4.1 ?


Ich habe versucht, clang mit --gcc-toolchain="/usr/lib/gcc/x86_64-linux-gnu/5.4.1" aufzurufen, aber ohne Erfolg.


Einige Code-Antworten


$ clang++ -v main.cpp clang version 3.8.1-12  (tags/RELEASE_381/final) Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/bin Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9 Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9.4 Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1 Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.2.0 Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.0.1 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.4 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.4.1 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.2.0 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.0.1 Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.0.1 
$PREFIX/{include|lib}/gcc/$PLATFORM/$VERSION/* 
mkdir $MYTOOLCHAIN cd $MYTOOLCHAIN ln -s /usr/include include #for headerfiles ln -s /usr/bin bin #for tools like ld mkdir -p lib/gcc/x86_64-linux-gnu/ #clang will deduce what to select cd lib/gcc/x86_64-linux-gnu/ #link the toolchain we want here ln -s /usr/lib/gcc/x86_64-linux-gnu/$VERSION $VERSION  #usage: clang++ --gcc-toolchain=$MYTOOLCHAIN main.cpp