2011-11-04 1 views
3

이 있습니다. gcc에 몇 가지 문제가 있습니다. /usr/bin에서Gcc 4.2 버전이 누락되었습니다. osx lion 및 XCode 4.1을 사용하는 새로운 MacBook Pro에

찾을 수없는 gcc-4.2

난 단지 다음 버전이 있습니다 Selecting 'gcc42' for 'gcc' failed: could not create new link "/opt/local/bin/gcc": target "/usr/bin/gcc-4.2" doesn't exist : 나는 그것이 나에게 다음과 같은 오류를 반환 port select --set gcc gcc42에 의해 gcc42 선택하려고 할 때 그 결과

i686-apple-darwin11-llvm-gcc-4.2 
llvm-gcc 
llvm-gcc-4.2 

그러나 port select gcc은 다음 버전을 반환합니다.

apple-gcc42 
gcc42 
llvm-gcc42 (active) 
mp-gcc44 

이 문제를 어떻게 해결할 수 있습니까?

감사합니다.

답변

6

Xcode 4.1이 설치된 /usr/bin/gcc-4.2이 있어야합니다. 그러나 최근의 Xcode 4.2 업데이트로 인해 Apple은 마침내 수정 된 표준 gcc-4.2을 삭제했습니다. 남아있는 것은 llvm-gcc42 (또한 gcc과 심볼릭 링크 됨)이고 더 새로운 비 gcc C 컴파일러 인 clang입니다. Apple은 clang으로 전환하고 있습니다. 첫 번째 단계는 하이브리드 llvm-gcc42을 사용하는 것입니다. 새 컴파일러 중 하나를 사용하여보고 된 문제가있었습니다. 이 시간을 사용하여 문제가 있는지 파악하고, 그렇다면 코드를 수정하고 버그를 Apple에보고해야합니다.

port install apple-gcc42 

하지만 당신은 조류에 대해 수영됩니다 : 당신이 절대적으로 이전 GCC-4.2을 가지고있는 경우 그 사이에, MacPorts를 통해 이전의 애플 수정과 유사한 하나를 구축 할 수 있습니다.

+0

고마워요! 이미 macport에서 gcc44를 설치했고'sudo port select -set gcc mp-gcc44'를 통해 선택할 수 있습니다. 그러나'/ usr/bin /'에서 찾을 수 없습니다. – Maverik

+1

좋아, 나는 그것을/opt/loca/bin /'에서 발견했다. 실제로 문제는 내가 컴파일하고있는 소프트웨어가'/ usr/bin/gcc42'' IF ($ {CMAKE_SYSTEM} MATCHES "Darwin-11. * ")' – Maverik

+0

MacPorts는'/ usr/bin'에 아무 것도 설치하지 않습니다; 그것은 OS X의 일부로 Apple에 의해 독점적으로 관리됩니다. 컴파일러 선택을 CC 환경 변수 또는 그와 같은 것으로 대체 할 수 있습니까? –

0

code 소스에서 최신 GCC (예 : 4.6.2)를 컴파일하는 것이 좋습니다. 애플은 GCC에 대해별로 신경 쓰지 않지만, GCC는 상당한 진전을 이뤘다. 4.2

그리고 아마 llvm-gcc42을 GCC 컴파일러로 사용할 수있을 것이다.

5

Xcode 4.3에서는 명령 행 도구를 별도로 설치해야합니다. XCode -> 환경 설정 -> 다운로드를 클릭하고 구성 요소 버튼을 클릭 한 다음 "명령 행 도구"옵션 옆에있는 설치를 클릭하십시오.

2

나는 동일한 문제가있었습니다.

나는 심볼릭 링크를 사용하여 그것을 고쳤다.이처럼

: 다음

cd /usr/bin 

:

sudo ln -s llvm-gcc-4.2 gcc-4.2 
7
내가 심볼릭 링크와 함께 산 사자에이 문제를 해결하기 위해 관리 할 수 ​​

:

sudo ln -s /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2 

희망이 도움이 누군가

+0

고마워,이 정확히 내가 무엇을 찾고있다. –

0

a 타 makefile의 내부와 함께 mpered하고 하나의 호출 된 옵션이 너무 많은 인수를 제공한다는 것을 알았습니다. 변수를 내 컴퓨터에서 호출 된 함수의 실제 결과 (초과 인수 제거)로 바꾸고 make을 다시 실행했습니다.

+2

어떤 옵션이 필요합니까? makefile에 대해 수행 한 변경 사항을 보여주는주의 사항은 무엇입니까? – Tivie