사전 컴파일 된 바이너리를 사용하여 CLang을 설치하는 방법은 무엇입니까?


8

다운로드 한 CLang의 사전 컴파일 된 바이너리를 사용하여 Ubuntu에 CLang을 어떻게 설치합니까?

CLang을 다운로드 한 방법은 다음과 같습니다. "LLVM 다운로드 페이지"-> "LLVM 3.2 다운로드"-> "Ubuntu-12.04 / x86_64 용 Clang 바이너리"( http://llvm.org/releases/3.2/clang+llvm-3.2-x86_64 -linux-ubuntu-12.04.tar.gz )

그런 다음 아카이브를 Ubuntu 12.04 LTS 64 비트 시스템의 폴더로 확장했습니다. 확장 된 폴더의 내용은 다음과 같습니다.

$ ls clang+llvm-3.2-x86_64-linux-ubuntu-12.04
bin  docs  include  lib  share

질문 : 다음에 무엇을해야합니까? 이 폴더를 직접 일부 폴더에 복사해야합니까? 그렇다면 정확히 어느 폴더에 있습니까? 온라인에서 찾은 대부분의 지침은 소스에서 CLang을 빌드하기위한 것이며 여기에는 적용되지 않습니다.

나는 이러한 도구의 대부분을 초보자입니다. 기본 hello-world C ++ 프로그램을 만들었고 GCC와 autotools를 사용하여 컴파일하고 실행할 수있었습니다. 이제 CLang으로 동일한 프로그램을 컴파일하고 싶습니다.

감사

또한 StackOverflow : 사전 컴파일 된 바이너리를 사용하여 CLang을 설치하는 방법? : /programming/17045954/how-to-install-clang-using-precompiled-binaries에 대해 질문했습니다 .

가능한 중복 : LLVM / Clang 3.0을 어떻게 설치합니까? 그러나 해당 답변에는 필요한 특정 단계가 없습니다.


내 대답은 설치 지침을 제공합니다. 관심이 있다면 제거 지침을 추가 할 수 있습니까?
andrew.46

답변:


4

이 아카이브를 설치하는 가장 쉬운 방법은 다음 두 명령을 사용하는 것입니다.

wget http://llvm.org/releases/3.2/clang+llvm-3.2-x86_64-linux-ubuntu-12.04.tar.gz
sudo tar -C /usr/local -xvf clang+llvm-3.2-x86_64-linux-ubuntu-12.04.tar.gz --strip 1

이것은 내 12.04 VM에서 잘 작동하며 다음을 제공합니다.

andrew@ithaca:~$ clang --version
clang version 3.2 (tags/RELEASE_32/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
andrew@ithaca:~$ 

이 설치는 표준 Ubuntu 패키지 관리 도구를 사용하여 패키지를 쉽게 제거하는 기능을 제거하지만 다음 단일 명령으로 설치된 모든 파일을 제거합니다.

sudo rm -v /usr/local/bin/{clang*,llc,lli,llvm*,macho-dump,opt,bugpoint,c-index-test} && \
sudo rm -rfv /usr/local/docs/llvm && \
sudo rm -rfv /usr/local/include/{clang,clang-c,llvm,llvm-c} && \
sudo rm -v /usr/local/share/man/man1/clang.1 && \
sudo rm -rfv /usr/local/lib/clang && \
sudo rm -v /usr/local/lib/{BugpointPasses.so,libclang*,libLLVM*,libLTO*,libprofile_rt*,LLVM*}

내 시스템에서 테스트되었으며 파일을 깨끗하게 제거합니다 ...


그리고 어떻게 제거합니까?
nom

내 정확한 설치에서 잘 작동하는 제거 지침을 추가했습니다.
andrew.46
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.