首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何选择clang正在使用的LLVM版本?

如何选择clang正在使用的LLVM版本?
EN

Stack Overflow用户
提问于 2013-02-20 00:17:07
回答 3查看 10.6K关注 0票数 2

也许这太明显了,但我还看不到答案:

我尝试使用clang在Ubuntu下编译我的项目,但不幸的是,llvm因堆栈转储而崩溃。

代码语言:javascript
复制
$ 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,安装它,但是我如何选择它?例如:

代码语言:javascript
复制
$ 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后端的命令行选项。我是不是遗漏了什么?

EN

回答 3

Stack Overflow用户

发布于 2013-02-20 04:46:42

Clang与LLVM是静态链接的,所以您不能像这里所暗示的那样将两者分开。

你能做的就是按照通常的编译器安装说明单独安装Clang 2.9,然后用它编译你的项目。

票数 5
EN

Stack Overflow用户

发布于 2017-09-14 04:47:52

我尝试了很多选择,这里是最适合我的。

删除所有现有版本的llvm/clang。要获得完整的列表,请运行以下命令:

代码语言:javascript
复制
dpkg -l | egrep -i "clang|llvm"

在我的例子中,我必须至少保留"libllvm5.0:amd64“,因为很多包都依赖于它。

http://releases.llvm.org/download.html下载预构建版本并验证签名。

代码语言:javascript
复制
gpg --verify clang+llvm-[VERSION].tar.xz.sig

将内容解压到某个文件夹。

代码语言:javascript
复制
sudo tar -xf archive.tar -C /opt/clang+llvm-[VERSION]

将此行添加到.bashrc的完整末尾,或手动运行以更改版本。

代码语言:javascript
复制
export PATH="/opt/clang+llvm-[VERSION]/bin:$PATH"

另一种选择是使用更新替代方案。

代码语言:javascript
复制
#!/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个以上的版本,则使用此命令。

代码语言:javascript
复制
sudo update-alternatives --config clang

检查系统配置是否正确。

代码语言:javascript
复制
llvm-config --prefix --version
clang --version
票数 1
EN

Stack Overflow用户

发布于 2013-03-16 19:26:51

由于LLVM 3.2发布了,而我使用的是Ubuntu,这可以轻松地修复它:

代码语言:javascript
复制
sudo add-apt-repository ppa:georgekola/clang
sudo apt-get update
sudo apt-get install clang
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14962192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档