링커

2010-06-08 2 views
1

나는 CodeSorcery 암 - EABI-GCC 툴 체인을 사용하고 있습니다를 호출 할 때 구성 GCC가 사용하는 기본 가져 오기 링크를 내가 LD 내가 내 간단한 프로그램을 컴파일하고 링크 할 수 있습니다 GCC링커

분리 사용에 문제가, gcc으로 전화하면 ld으로 전화하십시오.

g++ test.cpp; # Works 

이가 없기 때문에 문자

작동하지 않는 문제가되지 작동
g++ -c test.cpp 

ld -o test crti.o crtbegin.o test.o crtend.o crtn.o -lgcc -lc -lstdc++; # Fails 

내가 무엇을 놓치고 오전 ld 명령

에 GCC 라이브러리를 추가하고주의 사항?

기본 설정 gcc을 사용하여 ld를 구성하는 더 좋은 방법이 있다면?

+0

http://stackoverflow.com/a/7505529/895245를 참조하십시오. –

답변

3

가장 쉬운 방법은 것입니다 GCC/G ++ 별도의 링크 운전 : 당신은 링커 옵션을 전달해야하는 경우

g++ -c test.cpp  # compile 
g++ -o test test.o # separate link 

, 당신이 사용할 수있는 -Wl :

g++ -o test test.o -Wl,-somelinkeroption,arg 
3

@R 사무엘 Klatchko가있다을 최선의 조언이지만 gcc/g ++이 연결되는 것을보고 싶다면 -vverbose option을 사용하십시오.

헤더 파일 및 라이브러리, 미리 정의 된 선행 처리기 기호 및 링크에 사용되는 개체 파일 및 라이브러리를 검색하는 데 사용되는 전체 디렉터리 경로를 표시합니다.