¿Cómo seleccionar una cadena de herramientas gcc en particular en clang?

 C Programming >> Programación C >  >> Tags >> Clang
¿Cómo seleccionar una cadena de herramientas gcc en particular en clang?


Clang selecciona automáticamente la versión gcc con la versión más alta:


$ 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

¿Cómo puedo obligar a clang a usar una instalación gcc diferente, digamos 5.4.1?


Traté de llamar a clang con --gcc-toolchain="/usr/lib/gcc/x86_64-linux-gnu/5.4.1" pero sin éxito.


Algunas respuestas de código


$ 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