Ошибка SWIG-PHP: неверная библиотека - PullRequest
0 голосов
/ 25 сентября 2010

Я новичок в SWIG и пытаюсь создать оболочку PHP5 для этой библиотеки https://sourceforge.net/projects/zinnia/

Проект включает файл интерфейса zinnia.i

После www.swig.org / Doc1.3 / Php.html

Я запускаю

swig -php -c++ zinnia.i
gcc `php-config --includes` -fpic -c zinnia_wrap.cpp
gcc -shared -L/usr/local/lib/ -lzinnia -o zinnia.so

Затем я загружаю его в PHP

extension=zinnia.so

Но когда я запускаю apache, я получаю этоошибка

Предупреждение PHP: Запуск PHP: недопустимая библиотека (возможно, не библиотека PHP) 'zinnia.so' в строке Неизвестно в строке 0

Кто-нибудь знает, как решитьэто?

Apache / 2.2.14 (Ubuntu) PHP / 5.3.2 Swig 1.3.2

Спасибо

1 Ответ

0 голосов
/ 11 ноября 2010

Я не уверен, что вы решили свою проблему?

Я не пытался создать оболочку PHP5, но я подумал, что, возможно, стоит попытаться использовать g ++ вместо gcc для генерации кода на языке c ++.

У меня были проблемы с компоновкой, когда я случайно скомпилировал c-библиотеку, а не библиотеку c ++.Например, SWIG ImportError: неопределенный символ: _Py_RefTotal

Не уверен, что это поможет, но так как его попытка была быстрой, я подумал, что упомянул это на всякий случай!

Том

...