Ошибка компоновщика, вызывающая проблемы - PullRequest
0 голосов
/ 04 августа 2011
/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 не поврежден.

1 Ответ

0 голосов
/ 04 августа 2011

Ошибка означает, что в связанных модулях отсутствует определение именованных элементов FastNew(unsigned int) и т. Д. То есть некоторый код ссылается на элемент, но его реализация не реализована.

Это может иметь несколько классов причин:

  • в ссылке отсутствует библиотека
  • модуль скомпилирован неправильно: несоответствующие параметры, #defines или C против C++
  • модуль ошибочно связан, который не должен был быть

Из упомянутых типов модулей, я думаю, причина, скорее всего, первая. Ищите библиотеку управления памятью, которая должна быть включена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...