首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在clang中选择特定的gcc工具链?

如何在clang中选择特定的gcc工具链?
EN

Stack Overflow用户
提问于 2017-02-01 00:32:10
回答 1查看 12.1K关注 0票数 18

Clang会自动选择最高版本的gcc版本:

代码语言:javascript
复制
$ clang++ -v main.cpp
clang version 3.8.1-12 
(tags/RELEASE_381/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9.4
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.2.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.0.1
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.4.1
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.2.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.0.1
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.0.1

如何强制clang使用不同的gcc安装,比如5.4.1?

我试着用--gcc-toolchain="/usr/lib/gcc/x86_64-linux-gnu/5.4.1“调用clang,但没有成功。

EN

回答 1

Stack Overflow用户

发布于 2017-02-01 22:24:34

-- gcc工具链的有效路径显然是"/usr“,因为clang似乎在

代码语言:javascript
复制
$PREFIX/{include|lib}/gcc/$PLATFORM/$VERSION/*

因此,作为一种解决方法,您可以通过使用overlay-fs或符号链接只包含一个文件夹的文件夹结构来创建文件系统,从而诱使clang使用特定版本

代码语言:javascript
复制
mkdir $MYTOOLCHAIN
cd $MYTOOLCHAIN
ln -s /usr/include include #for headerfiles
ln -s /usr/bin bin #for tools like ld
mkdir -p lib/gcc/x86_64-linux-gnu/ #clang will deduce what to select
cd lib/gcc/x86_64-linux-gnu/
#link the toolchain we want here
ln -s /usr/lib/gcc/x86_64-linux-gnu/$VERSION $VERSION 
#usage: clang++ --gcc-toolchain=$MYTOOLCHAIN main.cpp

然而,也许有一种更好的方法,通过指示clang通过一个标志来选择版本……

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41962611

复制
相关文章

相似问题

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