2011-08-04 91 views
0
/home/crbt/AUT/SVN/version1.1/Code/poly6.3/linux/i386/gcc/lib/libpat.a(polymem.o): In function `poly_memory_init': 
    polymem.cxx:(.text+0x71): undefined reference to `FastNew(unsigned int)' 
    polymem.cxx:(.text+0x76): undefined reference to `FastDelete(void*)' 
    polymem.cxx:(.text+0x81): undefined reference to `init_new_and_delete(void* (*)(unsigned int), void (*)(void*))' 
    polymem.cxx:(.text+0xab): undefined reference to `MemoryHandler::Create(MemoryHandlerInitStruct*)' 
    polymem.cxx:(.text+0xbe): undefined reference to `WarmNew(unsigned int)' 
    polymem.cxx:(.text+0xc3): undefined reference to `WarmDelete(void*)' 
    polymem.cxx:(.text+0xcc): undefined reference to `init_new_and_delete(void* (*)(unsigned int), void (*)(void*))' 

我無法理解鏈接器錯誤背後的原因。我導航到上面提到的路徑,發現libpat.a文件完好無損。鏈接器錯誤導致問題

回答

0

該錯誤表示鏈接的模塊缺少已命名項目的定義FastNew(unsigned int)等。也就是說,某些代碼引用了該項目,但沒有實現它。

這可能有幾類原因:

  • 庫從鏈接
  • 一個模塊編譯錯誤丟失:不匹配的選項,#定義,或CC++
  • 模塊是錯誤的聯繫,應該不是

從引用的模塊類型,我認爲原因可能是第一個。尋找應該包含的內存管理庫。