也许这太明显了,但我还看不到答案:
我尝试使用clang在Ubuntu下编译我的项目,但不幸的是,llvm因堆栈转储而崩溃。
$ clang --version
Ubuntu clang version 3.0-6ubuntu3 (tags/RELEASE_30/final) (based on LLVM 3.0)
Target: i386-pc-linux-gnu
Thread model: posix我想试一试LLVM2.9,安装它,但是我如何选择它?例如:
$ ll /usr/bin/llvm-ar*
lrwxrwxrwx 1 root root 27 Sep 12 16:43 /usr/bin/llvm-ar -> ../lib/llvm-3.1/bin/llvm-ar*
lrwxrwxrwx 1 root root 27 May 21 2012 /usr/bin/llvm-ar-2.9 -> ../lib/llvm-2.9/bin/llvm-ar*
lrwxrwxrwx 1 root root 27 Aug 27 20:31 /usr/bin/llvm-ar-3.0 -> ../lib/llvm-3.0/bin/llvm-ar*
lrwxrwxrwx 1 root root 27 Aug 28 17:49 /usr/bin/llvm-ar-3.1 -> ../lib/llvm-3.1/bin/llvm-ar*
$ ll /usr/bin/clang*
-rwxr-xr-x 1 root root 12686228 Apr 25 2012 /usr/bin/clang*
lrwxrwxrwx 1 root root 5 Apr 25 2012 /usr/bin/clang++ -> clang*Clang as a command只存在一次,而且我没有看到选择llvm后端的命令行选项。我是不是遗漏了什么?
发布于 2013-02-20 04:46:42
Clang与LLVM是静态链接的,所以您不能像这里所暗示的那样将两者分开。
你能做的就是按照通常的编译器安装说明单独安装Clang 2.9,然后用它编译你的项目。
发布于 2017-09-14 04:47:52
我尝试了很多选择,这里是最适合我的。
删除所有现有版本的llvm/clang。要获得完整的列表,请运行以下命令:
dpkg -l | egrep -i "clang|llvm"在我的例子中,我必须至少保留"libllvm5.0:amd64“,因为很多包都依赖于它。
从http://releases.llvm.org/download.html下载预构建版本并验证签名。
gpg --verify clang+llvm-[VERSION].tar.xz.sig将内容解压到某个文件夹。
sudo tar -xf archive.tar -C /opt/clang+llvm-[VERSION]将此行添加到.bashrc的完整末尾,或手动运行以更改版本。
export PATH="/opt/clang+llvm-[VERSION]/bin:$PATH"另一种选择是使用更新替代方案。
#!/bin/bash -ex
DIR=/opt/clang+llvm-[VERSION]/bin
sudo update-alternatives \
--install /usr/bin/clang clang "$DIR/clang" 100 \
--slave /usr/bin/clang++ clang++ "$DIR/clang++"如果安装了1个以上的版本,则使用此命令。
sudo update-alternatives --config clang检查系统配置是否正确。
llvm-config --prefix --version
clang --version发布于 2013-03-16 19:26:51
由于LLVM 3.2发布了,而我使用的是Ubuntu,这可以轻松地修复它:
sudo add-apt-repository ppa:georgekola/clang
sudo apt-get update
sudo apt-get install clanghttps://stackoverflow.com/questions/14962192
复制相似问题