2010-09-25 4 views
0

Je suis nouveau à SWIG et je suis en train de faire un wrapper autour de cette bibliothèque PHP5 https://sourceforge.net/projects/zinnia/erreur SWIG-PHP: bibliothèque non valide

Le projet comprend le fichier d'interface zinnia.i

Après www .swig.org/Doc1.3/Php.html

Je lance

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

Puis-je charger en PHP

extension=zinnia.so 

Mais quand je commence apache je reçois cette erreur

PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) 'zinnia.so' in Unknown on line 0

Est-ce que quelqu'un sait comment le résoudre?

Apache/2.2.14 (Ubuntu) PHP/5.3.2 Swig 1.3.2

Merci

Répondre

0

Je ne sais pas si vous avez résolu votre problème?

Je n'ai pas essayé de faire une enveloppe, mais je pensais que PHP5 il pourrait être intéressant d'essayer d'utiliser g ++ plutôt que gcc pour vous générer du code C++.

J'ai eu des problèmes quand je relie compilé accidentely un c-bibliothèque plutôt que d'une bibliothèque C++. Par exemple, SWIG ImportError: undefined symbol: _Py_RefTotal

Je ne sais pas si cela va aider, mais comme il est rapide à essayer, je pensais que je le mentionne au cas où!

Tom

+0

Merci, mais pas de chance. Même erreur même avec g ++. J'abandonne –

+0

Pour moi, c'était exactement le problème inverse. J'utilisais g ++ pour compiler du code C++, alors que j'aurais dû utiliser gcc pour compiler du code C. Une fois que j'ai tout changé en C et compilé en utilisant gcc, l'extension a été chargée correctement. – Hassan

Questions connexes