2015-01-04 2 views
0

저는 최근 MacPorts를 통해 GCC 4.9.2 (포트 이름 gcc49)를 설치했습니다. 색상화된 진단 및 C++ 1y/C++ 14 지원 개선과 같은 새로운 기능에 매우 만족합니다.MacPorts가 설치된 GCC 4.9 디버그 기호 버그?

그러나 GCC 4.9.2를 사용하여 코드를 컴파일하기 시작한 이래로 나는 디버그 기호 디렉토리 *.dSYM을 생성하지 않고 gdb에서 -g 플래그로 컴파일 한 프로그램을 디버깅하려고하면 "디버깅 기호가 없습니다"라는 메시지가 표시됩니다.

MacPorts 관련 버그입니까? 아니면 GCC 4.9에 문제가 있습니까?

감사합니다.

답변

1

MacPorts와 관련된 문제는 아닙니다. MacPorts는 gcc 포트를 사용자 정의하는 데별로 도움이되지 않습니다. 당신이 dSYM 번들을 작성하고 실행 파일을 제거하려면

, 당신은 단지 같은 것을 수행해야합니다 보조 노트로

gcc-mp-4.9 -g3 -c example.c 
gcc-mp-4.9 example.o -o example 
dsymutil --out example.dSYM example 
strip -S -x example 

을, 당신은 C++ 11/C++ 14 지원을 원하는 경우, clang-3.5 포트를 사용하면 MacPorts의 libstdC++ 대신 libC++를 사용할 수 있으며 (STL뿐 아니라 시스템과 MacPorts C++ 라이브러리를 사용할 수 있음) 사용하는 것이 좋습니다. 또한 lldb는 요즘 OS X 용 디버거입니다.

+0

감사합니다. 작동했지만 gcc-mp-4.8과 함께'-g'를 사용하여 디버그 기호 디렉토리를 얻는 것이 좋았습니다. 그리고 실제로 lldb를 사용하기 시작해야합니다 ... – mty