попробуйте встроить мой C-код в PHP-скрипт - PullRequest
1 голос
/ 30 марта 2011

Я учусь использовать SWIG и пишу обертку php для библиотеки C.Расширение успешно компилируется, но когда я пытаюсь вызвать функцию, я получаю эту ошибку:

php: ошибка поиска символа: /usr/lib/php5/20090626+lfs/fact.so: undefined символ: факт

1 Ответ

0 голосов
/ 04 апреля 2011

Возможно, ваша проблема связана с несоответствием имени модуля (см. % module или передано в командной строке) и имени создаваемого вами файла .so.

PHP или любая система, которая принимает загружаемые двоичные модули, собирается сделать определенные предположения относительно имени точки входа в библиотеку, которую пытается загрузить.PHP, похоже, предполагает, что имя файла (fact.so) будет содержать функцию с именем «fact».

Когда вы запускаете SWIG, явное указание имени модуля «fact», вероятно, решит вашу проблему,В противном случае размещение сгенерированного исходного файла SWIG может помочь нам отладить вашу проблему.

...