OSX에서 GCC 업데이트
그래서 저는 새로운 프로그래머이고 GCC를 얻기 위해 Macbook에 XCode를 설치했습니다. Xcode가 OSX에서 GCC를 얻는 유일한 방법이라고 생각합니다. 이제 Hello World 애플리케이션을 실행하면 C ++에서 g ++가 버전 4.0.1이라는 메시지가 표시되지만 g로 시작하는 명령을 찾으면 g ++-4.2도 표시됩니다. 4.0.1이 아닌 4.2를 기본값으로 만드는 방법이 있습니까? 또한 gcc를 최신 버전 4.4.0으로 업데이트하는 방법이 있습니까?
편집 : 좋아, 그래서 나는 macports를 설치하고 gcc4.4를 설치했으며 터미널에 gcc-mp-4.4로 표시되며 명령 및 항목과 같이 gcc_select를 사용하여 기본값으로 설정하는 방법은 무엇입니까? 감사.
macports를 설치하면 gcc select를 설치 한 다음 gcc 버전을 선택할 수 있습니다.
/opt/local/bin/port install gcc_select
버전을 보려면
port select --list gcc
버전 사용을 선택하려면
sudo port select --set gcc gcc40
나는 그것이 오래된 요청이라는 것을 알고 있습니다. 그러나 일부에게는 여전히 유용 할 수 있습니다. 현재 버전의 MacPort에서는 port 명령을 사용하여 기본 gcc 버전을 선택할 수 있습니다. 사용 가능한 gcc 버전을 나열하려면 다음을 사용하십시오.
$ sudo 포트 선택 --list gcc
Available versions for gcc: gcc42 llvm-gcc42 mp-gcc46 none (active)
gcc를 MacPorts 버전으로 설정하려면 :
$ sudo 포트 선택 --set gcc mp-gcc46
나는 이것을 달성하기 위해 소프트 링크를 사용하는 것은 끔찍하고 좋지 않으며 끔찍한 아이디어라고 말하려고 들었습니다.
소프트웨어 작성에 대한 핵심 사항 중 하나는 재현성입니다. 매번 동일한 결과를 얻을 수 있기를 원합니다. 이러한 시스템은 너무 복잡하여 보이지 않는 모든 오류 원인을 줄이고 자합니다.
소프트 링크는 보이지 않는 오류의 원인입니다. 한 달 동안 잊고 다른 컴퓨터로 이동하여 다른 결과를 얻는 이유가 무엇인지 궁금합니다. 또는 시스템을 업그레이드하려고하면 이상한 오류가 발생합니다. 거기에 소프트 링크를 기대하고 있습니다.
더욱이 이것은 작동을 보장하지 않습니다. 특히 gcc 반복 사이에 확실히 변경된 올바른 시스템 포함 파일을 얻을 수 있는지 확실하지 않습니다.
gcc_select는 예측 가능하게 작동하는 동일한 작업을 수행하는 체계적인 방법입니다. 최악의 경우 버그 보고서를 제출하고 최종 수정을 받거나 직접 수정할 수 있습니다.
불행히도 :-( gcc_select는 XCode가 사용하는 컴파일러에 영향을 미치지 않으므로 XCode에서 작업해야하는 경우 갈 방법이 아닙니다 (내가 수행하는 작업). 여전히 그 방법이 무엇인지 모르겠습니다.
"gcc_select -l"사용
> gcc_select -l
gcc40 mp-gcc44
> gcc_select mp-gcc44
Homebrew를 사용하는 다음 레시피 는 gcc / g ++ 4.7로 업데이트하는 데 도움이되었습니다.
$ brew tap SynthiNet/synthinet
$ brew install gcc47
의 /usr/bin
유형
sudo ln -s -f g++-4.2 g++
sudo ln -s -f gcc-4.2 gcc
그렇게해야합니다.
상자에 여러 버전의 GCC를 사용하여 사용하려는 GCC를 선택하여 전체 경로로 호출 할 수 있습니다. 예를 들어 명령 줄에서 g++
전체 경로 /usr/bin/g++
를 사용하는 대신 (gcc가있는 위치에 따라 다름).
프로젝트를 컴파일하는 경우 사용하는 시스템에 따라 다르지만 Xcode에 대해 잘 모르겠지만 (기본 atm에 만족합니다) Makefile을 사용할 때 GXX = / usr / bin / g ++ 등을 설정할 수 있습니다.
편집하다
이제 xcrun
Mac에서 적절한 버전의 빌드 도구를 선택하기 위해 쿼리 할 수 있는 스크립트가 있습니다. 그렇다에서 man xcrun
나는 약이 설명 봤 한 엑스 코드와 명령 행 도구를 꽤 많이 요약하는 방법을 사용합니다.
애플이 xcode (10.6의 4.2.1, 이전의 4.0.1)에서 기본 gcc로 제공하는 것은 무엇이든 애플 직원들과 OS X에서 소프트웨어를 빌드하기위한 "표준"에 의해 잘 테스트되고 유지됩니다. 다른 모든 것은 그렇지 않습니다. 따라서 소프트웨어를 개발하거나 gcc / OS X 베타 테스터가 되려면 두 번 생각하십시오.
참고 URL : https://stackoverflow.com/questions/837992/update-gcc-on-osx
'Nice programing' 카테고리의 다른 글
현재 시간에시, 분, 초 추가 (0) | 2020.12.04 |
---|---|
'바이너리'와 '텍스트'파일을 어떻게 구별합니까? (0) | 2020.12.04 |
C # TextBox의 맨 아래로 스크롤 (0) | 2020.12.04 |
VC ++ 프로젝트에서 유니 코드를 끄려면 어떻게합니까? (0) | 2020.12.04 |
인수 '()'및 키워드 인수 '{}'가있는 '*'에 대한 반전을 찾을 수 없습니다. (0) | 2020.12.04 |