2016-11-08 2 views
3

私はclang++を使用してC++コードをコンパイルします。私はgcc標準C++ライブラリlibstdc++とリンクしています。しかし、私はUbuntuマシン上にlibstdc++のインストールをいくつか持っています。どのように私はlibstdc++ライブラリとヘッダの異なるバージョンを使用するclang++を伝えることができclangで特定のlibstdC++バージョンを選択

[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 

:?私はclang++を実行すると、それはlibstdc++の4.8インストールを使用していますか具体的には、4.6バージョンを使用したいと考えています。

+0

「clang」の古いバージョンを使用しようとしましたか? –

+0

@NarekAtayan 'gcc' 4.8がインストールされていない同様のシステムでは、同じバージョンの' clang'(特に3.4)は 'gcc' 4.6を使います。したがって、 'clang'の別のバージョンを使用せずに可能です。 –

+0

まあ、不可能(http://lists.llvm.org/pipermail/cfe-dev/2016-March/047856.html) – mindriot

答えて

0

旧式のlibstdC++のヘッダーだけを使用したい場合は、-I/usr/include/c++/4.6をCFLAGSに追加するだけで十分です。 C++ライブラリは下位互換性があります。

関連する問題