2017-02-11 10 views
1

내 런타임 라이브러리의 일부 기호 찾을 수 없습니다 :GCC는 수동으로 실패한 연결하기 : 내 64 비트 우분투에서이 작업을 시도하고 있었다

먼저 내가있어 간단한 프로그램

$ cat test.c 
int f(int x){ 
     int i=(x/42); 
     return i; 
} 
int main(){ 
     return 0; 
} 

을 그럼 난 수동으로 지정 연결 방법은 다음과 같습니다

/usr/lib/x86_64-linux-gnu/crt1.o:In function ‘_start’中: 
(.text+0x12):unresolved reference to ‘__libc_csu_fini’ 
/usr/lib/x86_64-linux-gnu/crt1.o:In function ‘_start’: 
(.text+0x19): unresolved reference to ‘__libc_csu_init’ 
/usr/lib/x86_64-linux-gnu/crt1.o:In function ‘_start’: 
(.text+0x25): unresolved reference to ‘__libc_start_main’ 
collect2: error: ld returned 1 exit status 
,369 :
$ gcc test.c -nostdlib /usr/lib/x86_64-linux-gnu/crt1.o /usr/lib/x86_64-linux-gnu/crti.o /usr/lib/x86_64-linux-gnu/crtn.o 

내가 약간의 오차가 있어요

나는 gcc가 필요한 모든 객체 파일을 다루는 방법을 보았고 그것을 수동으로 시도하려고 시도했다. 그것을 고치는 방법? 감사.

답변

1

문제를 해결하는 방법은 무엇입니까?

gcc test.c -nostdlib /usr/lib/x86_64-linux-gnu/crt1.o /usr/lib/x86_64-linux-gnu/crti.o /usr/lib/x86_64-linux-gnu/crtn.o -lc 

곰을 염두에 당신이 정말 뭔가를 연결하려는 경우 "수동으로"당신이 ld 함께 할 것입니다 : 당신이 libc 연결해야하므로

당신은, libc 문자 누락 하지 않음 gcc