티스토리 뷰


우분투 13.10을 사용하다가 14.04 LTS 버전이 나올때까지 잠시 12.04로 내려왔습니다.


그리고 기존에 작성중인 코드를 컴파일 하려다 보니까, g++의 옵션중 하나인 -std=c++11 (c++11 버전의 컴파일러를 사용하는 것)가 정상적으로 작동하지 않았습니다.



원인은 g++ 버전이 낮은 것 때문이었습니다.


apt-get install build-essential 로 설치되는 버전은 gcc, g++ 모두 4.6 버전입니다.

(자신의 컴파일러 버전을 확인 하는 방법은 gcc --version 입니다.)



13.10을 사용할 땐 몰랐는데, 4.7 이상의 버전이 설치되어 있어야 저 위의 옵션이 사용가능한 것 같습니다.




컴파일러의 버전업을 시키기 위해서 먼저 레퍼지토리(저장소)를 추가해야합니다.



$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test

$ sudo apt-get update



저장소를 추가했으면 이제 설치하시면 됩니다.


$ sudo apt-get install g++-4.8



근데 저장소서버가 매우 느리군요... 평균속도가 30-40 kb/s 밖에 나오지 않습니다.. 

(g++만 해도 gcc도 같이 설치되는것 같습니다.)


설치가 완료됬으면 이제 기본 컴파일러를 최신버전으로 바꿔야합니다. (4.8버전의 컴파일러를 사용하겠다라고 설정하는것이죠)



$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60
                                    --slave /usr/bin/g++ g++ /usr/bin/g++-4.6


$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40 
                                    --slave /usr/bin/g++ g++ /usr/bin/g++-4.8


$ sudo update-alternatives --config gcc


길기 때문에 오타가 나지 않게 주의하시며 입력하시길 바랍니다.


마지막 명령을 입력하시면 다음과 같은 창이 나타납니다.





* 로 되어있는 것이 현재 기본값으로 설정되어 있는 컴파일러입니다. 현재 4.6버전이군요

그리고 아래 보이는 2개가 방금 저희가 추가한 2가지 입니다. 


저는 방금 설치한 4.8 버전을 사용하고 싶으므로 입력하는 곳에 2라는 숫자를 입력하고 엔터키를 누릅니다.

그리고 gcc와 g++의 버전을 확인해보니 이제는 버전업이 되어있는 것을 볼 수 있습니다.





이제는 -std=c++11 의 옵션도 자유롭게 사용하실 수 있습니다~




저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

댓글
댓글쓰기 폼