2016-11-08 3 views
3

Ich verwende clang++ zum Kompilieren von C++ - Code. Ich verbinde mich mit der gcc Standard-C++ - Bibliothek, libstdc++. Ich habe jedoch verschiedene Installation von libstdc++ auf meinem Ubuntu-Rechner. Wenn ich clang++ laufen, verwendet es die 4.8 Installation von libstdc++:Auswählen einer bestimmten libstdC++ - Version mit clang

[email protected]:~$ clang++-3.5 -v 
Ubuntu clang version 3.5.0-4ubuntu2~trusty2 (tags/RELEASE_350/final) (based on LLVM 3.5.0) 
Target: i386-pc-linux-gnu 
Thread model: posix 
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/4.6 
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/4.6.4 
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/4.8 
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/4.8.4 
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/4.9 
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/4.9.3 
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.6 
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.6.4 
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.8 
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.8.4 
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9 
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.3 
Selected GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/4.8 
Candidate multilib: .;@m32 
Selected multilib: .;@m32 

Wie kann ich clang++ erzählen eine andere Version der libstdc++ Bibliothek und Header zu benutzen? Insbesondere möchte ich die Version 4.6 verwenden.

+0

Haben Sie versucht, eine alte Version von 'clang' zu verwenden? –

+0

@NarekAtayan In einem ähnlichen System, in dem 'gcc' 4.8 nicht installiert ist, verwendet dieselbe Version von' clang' (speziell 3.4) 'gcc' 4.6. So ist es möglich ohne eine andere Version von 'clang' zu verwenden. –

+0

Hmm, könnte [unmöglich] sein (http://lists.llvm.org/pipermail/cfe-dev/2016-March/047856.html) – mindriot

Antwort

0

Wenn Sie nur Header aus dem älteren libstdC++ verwenden möchten, sollte es ausreichend sein, CFLAGS -I/usr/include/c++/4.6 hinzuzufügen. Die C++ - Bibliothek ist abwärtskompatibel.

Verwandte Themen