답변:
기본값으로 연타를 사용하는 적절한 방법 cc
과 c++
사용하는 것입니다 update-alternatives
:
동일하거나 유사한 기능을 수행하는 여러 프로그램이 단일 시스템에 동시에 설치 될 수 있습니다. 예를 들어, 많은 시스템에는 한 번에 여러 개의 텍스트 편집기가 설치되어 있습니다. 이는 시스템 사용자에게 선택권을 부여하여 원하는 경우 각각 다른 편집기를 사용할 수있게하지만 사용자가 특정 환경 설정을 지정하지 않은 경우 프로그램이 편집기를 선택하기가 어렵습니다.
먼저 예를 들어 다음 과 같이 clang-3.5
또는 clang++-3.5
대안을 추가해야합니다 .gcc
g++
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang-3.5 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-3.5 100
언제든지 다시 전환해야 gcc
하거나 옵션을 g++
사용할 수있는 경우 --config
:
sudo update-alternatives --config c++
cc
/ c++
두 경로 사이에? 그 무엇 100
결국은? 우선 순위?
update-alternatives
문서를 살펴보십시오 . 나는 그들이 여기에 요약 한 것보다 더 나은 설명을 가지고 있다고 생각합니다.
Yan Foto의 답변에 추가하십시오 (그리고 목표가 사용 가능 clang
하지만 반드시 사용하지 않는 경우를 대비하여 cc
) 실제로 전체 프로그램 세트를 한 번에 추가 할 수 있습니다
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.8 380 \
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-3.8 \
--slave /usr/bin/clang-check clang-check /usr/bin/clang-check-3.8 \
--slave /usr/bin/clang-query clang-query /usr/bin/clang-query-3.8 \
--slave /usr/bin/clang-rename clang-rename /usr/bin/clang-rename-3.8
(각 clang 버전과 함께 제공되는 바이너리 세트는 다를 수 있습니다. 예를 들어 3.6에는 clang-tblgen
, 3.8에는 없습니다.)
설치하는 모든 버전의 clang에 대해이 작업을 반복하면 단 하나의 update-alternatives
명령을 사용하여 이들 사이를 전환 할 수 있습니다 .
(분명히, Ubuntu 패키지에 이러한 링크를 포함 시킬지 여부에 대한 논의가 여전히 진행 중입니다 : https://bugs.launchpad.net/ubuntu/+source/llvm-3.1/+bug/991493 )
clang- 3.8 (Ubuntu 16.04에서와 같이)이 설치된 경우 clang - 4.0에 대한 업데이트 대안을 설정해야합니다 .
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-4.0 100
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-4.0 100
sudo update-alternatives --install /usr/bin/clang-apply-replacements clang-apply-replacements /usr/bin/clang-apply-replacements-4.0 100
sudo update-alternatives --install /usr/bin/clang-check clang-check /usr/bin/clang-check-4.0 100
sudo update-alternatives --install /usr/bin/clang-query clang-query /usr/bin/clang-query-4.0 100
sudo update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-4.0 100
sudo update-alternatives --install /usr/bin/scan-build scan-build /usr/bin/scan-build-4.0 100
sudo update-alternatives --install /usr/bin/scan-view scan-view /usr/bin/scan-view-4.0 100
심볼릭 링크에 대한 Johann Wendin의 답변에 추가하십시오. A의 루트 쉘 한 번에 모든 다양한 연타 도구를 연결할 수 있습니다 :
예 :
find /usr/bin/ -name clang* | sed -E 's/^(\/usr\/bin\/.*)(\-[0-9]*)$/ln -s -v \1\2 \1/' | xargs -d '\n' -n 1 bash -c
그런 다음 반복하십시오.
llc-*
lld-*
lldb-*
llvm-*
그런 다음 작은 선택뿐만 아니라 모든 것이 연결되어야합니다. (아마도 나는 아직도 무언가를 잊었다).
그러면 / usr / bin의 패턴에 따라 모든 파일을 찾고 후미 숫자 (-8 또는 -9 또는 -10)를 제거한 다음 각각에 심볼릭 링크를 만듭니다.
ln -s /usr/bin/llc-6.0 /usr/bin/llc