2011-03-08 3 views
1

내가 연결의 시점에서 아직 아니지만, 곧 내 프로젝트가 컴파일 나는이 문제에 직면하게 될 것이다 :의 gcc와 g의 ++ 링커

  • 을 내가 하나 개의 공동 목적 파일 순수 C 코드
  • 에서의 gcc로 컴파일
  • g ++에서 extern "C"를 사용하여 컴파일 할 수있는 객체 파일을 공동으로 호출 할 수 있어야합니다.
  • 순수한 C++ 코드에서 g ++로 컴파일 된 * .o 객체 파일이 많이 있습니다. do 부분에 의해 호출됩니다.

전체를 하나의 블록 공유 라이브러리로 연결하려면 어떻게해야합니까? gcc 또는 g ++ 사용? 이 라이브러리는 Apache2에서 C 모듈로 사용됩니다.

답변

1

g ++을 사용하면 두 가지 유형의 .o 파일을 연결할 수 있습니다. gcc 만 실패합니다.

+1

'gcc -lstdC++'도 작동해야합니다. – ephemient

+0

@ephemient : 좋은 지적. 문제는 실제로 기호가 누락되어 있으므로 해결 방법이 될 수도 있습니다. – 0xC0000022L