도대체 왜 같은 소스인데 gcc 버전에 따라 컴파일이 되고 안되고 하는지 한탄이 나온다.

아니, 우선 이 소스가 gcc 특정 버전에서만 컴파일이 된다는 걸 알아낸 사람들이 용하달까 -_-;;

아무튼, 리눅스에서 gcc 및 g++를 여러 버전을 설치하면서, 기존에 설치된 패키지들도 함께 사용할 수 있게 하는 방법이 있다.

즉, gcc 혹은 g++, gcc-g++로 이름된 패키지는 항상 up-to-date, 최신 버전으로 유지가 된다.

구 버전을 설치하고자 한다면 gcc-compat 혹은 compat-gcc로 시작하는 패키지를 설치한다.

Fedora Core 6의 경우, compat-gcc-34, compat-gcc-34-c++ 등의 패키지를 yum search를 통해 찾을 수 있다.

해당 패키지가 설치되고 나면, 보통 /usr/local/bin 디렉토리에 gcc뿐만 아니라 gcc34등의 버전 명이 명기된 파일들이 설치된다.

이젠 컴파일 하려는 소스의 makefile에서 컴파일러를 gcc34등으로 명시해주거나, 아니면 특정 디렉토리, 이를테면 ~/bin 등을 PATH설정에서 우선순위로 잡은 다음, 해당 디렉토리에 ln -s를 이용하여 심볼릭 링크를 걸어준다.

ln -s /usr/local/gcc34 ~/bin/gcc

확인 방법은 gcc -v 혹은 g++ -v



Trackbacks  | Comments