2017-01-31 4 views
6

연타가 자동으로 가장 높은 버전으로 GCC 버전 선택 :clang에서 특정 gcc-toolchain을 선택하는 방법은 무엇입니까?

$ 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 

은 내가 어떻게 다른 GCC 설치를 사용하는 그 소리를 강제 할 수 있습니다, 5.4.1 말?

--gcc-toolchain = "/ usr/lib/gcc/x86_64-linux-gnu/5.4.1"을 사용하여 clang을 호출하려했지만 성공하지 못했습니다. 그래서 해결 방법으로 당신이를 만들어 특정 버전을 사용하는 그 소리를 속일 수

$PREFIX/{include|lib}/gcc/$PLATFORM/$VERSION/* 

에서 GCC를 찾을 것으로 보인다 연타로 --gcc-툴체인에 대한

+0

속는 (위트가있다 hout upvoted 또는 허용 대답) : http://stackoverflow.com/questions/39218360/clang-gcc-toolchain-and-gcc-4-9-3-linking-issues – bolov

+2

소스에서 clang을 빌드해야하는 것처럼 보입니다. – bolov

+0

--gcc-toolchain을 사용하여 @bolov 빌드 clang을 사용하면 내가 원하는 버전을 선택할 수 없으며 (컴파일 후) 또는 특히 실행 가능합니다. – Gaetano

답변

4

유효한 경로는 분명히 "는/usr"입니다 오버레이-FS 또는 하나 개의 폴더를 포함하는 폴더 구조를 심볼릭 링크와 파일 시스템

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 

그러나 어쩌면 플래그를 통해 버전을 선택하는 그 소리를 지시하여 더 나은 방법 ...

+0

clang 3.8 이전 버전의 경우 $ VERSION이 전체 버전 번호인지 확인하십시오. 예를 들어 /usr/lib/gcc/x86_64-linux-gnu/5.4.1이/usr/lib/gcc/x86_64-linux-gnu/5에 대한 링크 인 경우 "5"가 아닌 "5.4.1" . clang-3.9 +는 짧은 툴체인 버전을 다룰 수 있습니다. – proski

관련 문제