And*_*mas 5 c++ ubuntu gcc clang libstdc++
我clang++
用来编译C++代码.我链接到gcc
标准的C++库,libstdc++
.但是,我libstdc++
在我的Ubuntu机器上有几个不同的安装.当我运行时clang++
,它使用4.8安装libstdc++
:
andy@andy:~$ 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
Run Code Online (Sandbox Code Playgroud)
如何判断clang++
使用不同版本的libstdc++
库和标题?具体来说,我想使用4.6版本.
正如您从 的输出中看到的那样clang++ -v
,它将默认为在给定“前缀”(即安装目录)中找到的最新安装的 gcc。
例如在 Ubuntu 上安装多个版本的 gcc 方式的问题在于它们都使用相同的前缀/usr
.
所以,我现在用的解决方法是创建一批假冒装置,每个根据自己的前缀:/usr/local/gcc/5.5.0
,/usr/local/gcc/6.4.0
,/usr/local/gcc/7.3.0
等:
VERSION=6.4.0
sudo mkdir -p /usr/local/gcc/$VERSION/include/c++
sudo ln -s /usr/include/c++/$VERSION /usr/local/gcc/$VERSION/include/c++/$VERSION
sudo mkdir -p /usr/local/gcc/$VERSION/lib/gcc/x86_64-unknown-linux-gnu
sudo ln -s /usr/lib/gcc/x86_64-linux-gnu/$VERSION /usr/local/gcc/$VERSION/lib/gcc/x86_64-unknown-linux-gnu/$VERSION
Run Code Online (Sandbox Code Playgroud)
现在我可以clang++
通过以下--gcc-toolchain
选项指示使用特定版本的 gcc 库:
clang++ --gcc-toolchain=/usr/local/gcc/6.4.0 ...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1807 次 |
最近记录: |