CentOS 5.x에 g++ 4.7.2 및 c++11을 설치하는 방법은 무엇입니까?

CentOS 5.x에 g++ 4.7.2 및 c++11을 설치하는 방법은 무엇입니까?

g++최신 안정 버전 을 설치하려고 하는데 c++11호스트가 이를 살펴보고 yum install최신 버전이라고 생각했는데 최신이 아니었고 이제 지원 수준을 벗어났다고 합니다.

이 작업을 수행하는 방법을 주의 깊게 살펴봤지만 제대로 작동하지 않거나 제안된 솔루션이 무엇을 말하는지 모르겠습니다.

CentOS에 4.7.2를 설치하는 g++가장 쉬운 방법은 무엇입니까c++115.9?

답변1

~에서이 답변"CentOS [6.x]에 gcc 4.7 설치" CentOS 5.x의 경우 g++4.7과 필요한 도구 및 라이브러리를 얻는 가장 쉬운 방법은 패키지를 사용하는 것입니다 devtools.

cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools/devtools.repo 
yum --enablerepo=testing-devtools-6 install devtoolset-1.0

g++(를 통하지 않고 ) 수동으로 실행하고 있으므로 쉘이 새로운 바이너리 등을 사용하도록 변수를 make업데이트해야 합니다 .$PATHgccg++

export PATH=/opt/centos/devtoolset-1.0/root/usr/bin/:$PATH

이 시점에서 g++버전은 4.7.0이어야 합니다.

$ g++ --version
g++ (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5)
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

이러한 방식 으로 gcc도구와 라이브러리를 설치하고 연결하려면 저장소 관리자가 패키지를 최신 상태로 유지해야 합니다.

최신 상태를 유지하는 데 관심이 있다면 gcc고려해 볼 수도 있습니다.gcc소스에서 빌드.

또한 시스템에 설치된 버전과 다른 버전으로 프로그램을 컴파일하면 다양한 g++문제가 발생할 수 있습니다.libstdc++기쁨, 이 문제를 다루는 것은 이 답변의 범위를 벗어납니다. 현재 수행 중인 작업을 지원하는 Linux 배포판으로 마이그레이션하는 것이 좋습니다.

답변2

패키지 관리자는 훌륭하지만 (당연히) 최신 버전의 소프트웨어가 포함되지 않는 경우가 많습니다. CentOS는 최신 및 최고의 제품을 보유하는 것보다 안정성(및 광범위한 테스트)에 더 중점을 둔 서버별 배포판입니다. 해결책은 다음과 같습니다.

분포 변경

다른 배포판(예: Arch Linux, Sabayon Linux 또는 Debian "Sid")에는 최신 버전이 훨씬 빠르게 포함됩니다. 배포판 변경을 고려할 수도 있습니다.

직접 만들어 보세요

CentOS 사용을 고집한다면 가장 좋은 방법은 다음과 같습니다.소스에서 gcc 빌드. 이는 소스 코드를 얻는 것을 의미합니다.시스템에 종속성이 이미 존재합니다.(그렇지 않다면 CentOS 패키지 관리자에서 얻을 수 있다고 확신합니다.) 소스 코드를 바이너리 실행 파일로 컴파일한 다음시스템에 실행 파일을 설치하십시오..

확실히 가장 쉬운 방법은 아니지만 그 과정에서 Unix에 대해 많은 것을 배우게 될 것입니다. 문서를 여러 번 읽어서 모든 내용을 이해했는지 확인하고, 불분명한 부분이 있으면 질문하세요.

인내심을 가지세요

어떤 시점에서는 이 gcc/g++ 버전(또는 최신 버전)이 패키지 관리자에 포함될 것입니다. 기다리면(최대 몇 달, 저는 CentOS 릴리스 주기에 대해 잘 모릅니다) 결국 원하는 것을 얻게 될 것입니다.

답변3

글쎄, 나는 Reid의 답변에 대해 논평하기에는 너무 새롭습니다. 이것은 나에게 잘 작동합니다. 제가 주목하고 싶은 유일한 점은(어쩌면 Reed의 문제일까요?) 설치하려면 약간 다른 명령줄을 사용해야 한다는 것입니다.

yum --enablerepo=testing-devtools-5 install devtoolset-1.0

(Reed의 대답은 --enablerepo=testing-devtools-6이지만 작동하지 않습니다.)

관련 정보