Мы связали код PHP с кодом C ++ с помощью кода расширения PHP (написанного только на C ++) ... которые все отлично работали в 32-битной ОС.
Теперь мы изменили версию многих ПО, так как версия ОС была изменена на 64-битную. Мы скомпилировали код C ++, который ранее работал нормально с использованием 64-битного gcc, в 32-битный файл «.so», он показал много ошибок, мы очистили все их и, наконец, успешно скомпилировали. Но при связывании с PHP он показывает:
undefined symbol: _ZTV5Temps" error
1 ответ
Используйте c++filt
, чтобы распутать имя:
$ c++filt -n _ZTV5Temps
vtable for Temps
Я предполагаю (учитывая отсутствие контекста), что у вас есть ссылка на Temps
(класс) в модуле, который не был перекомпилирован / перекомпилирован.
Похожие вопросы
Новые вопросы
linux
ВНИМАНИЕ: Все вопросы по Linux должны быть связаны с программированием; те, которые не будут закрыты. Используйте этот тег, только если ваш вопрос касается программирования с использованием API-интерфейсов Linux или поведения, специфичного для Linux, а не только потому, что вы запускаете свой код в Linux. Если вам нужна поддержка Linux, вы можете попробовать https://unix.stackexchange.com или сайт Stack Exchange конкретного дистрибутива Linux, например https://askubuntu.com или https://elementaryos.stackexchange.com/.
libocl.so
и / илиlibocl.x.y.so
. Я собирался предложить вам задать новый вопрос...