2013-01-16 40 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, - unresolved -symbols = ignore-in-shared-libs -Wl, - retain-symbols-file,/ dev/null -o regexroute.yate -I ../ libs/ysig regexroute.cpp -lyatesig -L .. -lyate – PSDK

+0

你是否在頭文件中定義了你正在使用的函數?閱讀關於vtables定義的[文檔](http://gcc.gnu.org/faq.html#vtables)。 –

回答

0

因爲您在頭文件中爲您的類定義了一些方法,但忘記在您的cpp文件中實現它們。請逐個檢查該類的所有方法(定義與實現)。