2013-03-10 68 views
0

我在與Pantheios在Linux上聯用gcc4.6與下面的錯誤麻煩:「未定義的引用 'pantheios_log_3_no_test'」

In function `pantheios::internal::log_dispatch_3(int, unsigned int, char const*, unsigned int, char const*, unsigned int, char const*)': 
sig_writing_sink.cpp:(.text._ZN9pantheios8internal14log_dispatch_3EijPKcjS2_jS2_[pantheios::internal::log_dispatch_3(int, unsigned int, char const*, unsigned int, char const*, unsigned int, char const*)]+0x6d): undefined reference to `pantheios_log_3_no_test' 
collect2: ld returned 1 exit status 

我與鏈接:

  • libpantheios.1.core.gcc46.mt.a
  • libpantheios.1.fe.simple.gcc46.mt.a
  • libpantheios.1.be.fprintf.gcc46.mt.a
  • libpantheios.1.bec.fprintf.gcc46.mt.a
  • libpantheios.1.util.gcc46.mt.a
  • libpantheios.1.appl.gcc46.mt.a
  • libpantheios.1.core.gcc46.mt.a

哪裏pantheios_log_3_no_test
我錯過了什麼?

回答

0

原來,在gcc中,符號只是向前鏈接,因此給定lib中的相關符號只能從鏈接列表中的後續庫中解析出來。有關更多詳情,請參閱here
通過在 Pantheios之前將其他靜態鏈接的庫移動到,鏈接器成功。