2012-07-08 2 views
0

와 공유 할 .o 인 파일을 컴파일 할 수 없습니다 : 나는 다음과 같은 오류 얻을난 다음 명령을 사용하여 컴파일 할 때 g ++

g++ -fPIC -o obj/buffer.o buffer.cpp

:

/usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../x86_64-linux-gnu/crt1.o: In function _start': (.text+0x20): undefined reference to main'

나는 -fPIC 플래그를 생각하고있다가, I 주요 기능이 필요하지 않았다. 모든 cpp 파일에서이 오류가 발생합니다. main.cpp에 공유 라이브러리 함수가 있습니다. 소스 코드는 다음에서 얻을 수 있습니다.

아이디어가 있으십니까? 나는 ld 바이너리를 사용하여 모든 o 파일을 넣을 수 있다는 것을 알고있다. 일단 완료되면 공유 가능한 .o 파일로 그들을 모두 빌드하는 데 도움이 필요하다.

+0

소스 코드를 찾을 수 없습니다 –

+0

어, 익명으로 소스를 복제 할 수 있습니다. git을 사용하고 있습니까? 명령을 복사하여 붙여 넣었습니까? – nterry

+0

파일 이름 앞에 '-c'를 써야한다고 생각합니다. 'g ++ -fPIC -o obj/buffer.o -c buffer.cpp' –

답변

0

나는 내 질문에 대답했다고 생각한다. . 명령에 -c를 추가했는데 효과가있는 것 같습니다. 다음은 내가 사용한 명령입니다.

g++ -fPIC -c -o obj/list.o list.cpp 

이것은 여러 cpp 파일 중 하나이며 모두 작동하는 것 같습니다.

관련 문제