Я пытаюсь связать файл статической библиотеки (.a) с файлом .o, который предположительно использует символы из библиотеки.Однако при использовании gcc - возникает обычная ошибка компоновщика, независимо от того, используется ли файл .a как
gcc -L.ac staticlib.a
Однако та же команда работает с g ++ безупречно.
Почему это происходит?
Я вижу, что файл .c является полностью допустимым c (и, следовательно, c ++), но тогда почему gcc не может обнаружить символы в библиотеке?
Попытка найти символы в библиотеке с помощью objdump, была в состоянии найти близко похожие символы, но не точные.Например:
Получен 00000000000000b0 г F. текст 000000000000004e _ * Z15PhttsFn_InitTTSPh * для символа * PhttsFn_InitTTS *
Может кто-нибудь объяснить, пожалуйста, это явление?Я также проверил архитектуру, для которой был скомпилирован файл библиотеки, и он такой же, как моя архитектура.
Спасибо!