2013-01-16 3 views
0

내 C++ 프로젝트에 문제가 있습니다. 2 .cpp 개의 파일을 컴파일하고 공유 라이브러리 .so에 링크했습니다. 하나의 메소드를 다른 메소드로 사용하고 싶지만 undefined reference vtable *을 수신하십시오. 이러한 파일에는 헤더 파일이 있습니다. 누구든지 어떤 힌트를 제공 할 수 있습니까?하나의 링크 된 개체에서 다른 개체로의 액세스

+1

어떤 컴파일러를 사용하고 어떤 설정을 사용합니까? –

+0

g ++ -Wall -I .. -I .. -I ../libs/ysig -O2 -fno-check-new -fno-exceptions -fPIC -DHAVE_GCC_FORMAT_CHECK -DHAVE_BLOCK_RETURN -export-dynamic -shared -Wl, - 미해결 -symbols = 공유 라이브러리 무시 -Wl, - 심볼 파일 보관,/dev/null -o regexroute.yate -I ../libs/ysig regexroute.cpp -lyatesig -L ..-lyly – PSDK

+0

헤더 파일에서 사용중인 함수를 정의합니까? vtables 정의에 대해이 [documentation] (http://gcc.gnu.org/faq.html#vtables)을 읽어보십시오. –

답변

0

클래스에 대한 몇 가지 메소드를 헤드 파일에 정의 했으므로 cpp 파일에 구현해야합니다. 이 클래스의 모든 메소드 (정의 vs. 구현)를 하나씩 점검하십시오.

관련 문제