2010-09-25 36 views
0

我是新痛饮,我努力使解决此库 https://sourceforge.net/projects/zinnia/SWIG-PHP错误:无效库

项目PHP5的包装包括接口文件zinnia.i

继万维网.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 Warning: PHP Startup: Invalid library (maybe not a PHP library) 'zinnia.so' in Unknown on line 0

有谁知道如何解决呢?

的Apache/2.2.14(Ubuntu的)PHP/5.3.2痛饮1.3.2

感谢

回答

0

我不知道,如果你解决问题了吗?

我还没有试过做一个PHP5包装,但我认为这可能是值得尝试使用g ++而不是gcc来生成你的C++代码。

当我偶然编译一个C库而不是一个C++库时,我遇到了链接问题。 例如,SWIG ImportError: undefined symbol: _Py_RefTotal

不知道这是否会帮助,但由于其快速去尝试我想我说出来,以防万一!

Tom

+0

谢谢,但没有运气。即使使用g ++也是一样的错误。我放弃 – 2010-11-13 17:19:01

+0

对我来说,这是完全相反的问题。当我使用gcc编译C代码时,我正在使用g ++编译C++代码。一旦我将所有内容都改为C并使用gcc进行编译,扩展程序就会正确加载。 – Hassan 2015-06-14 21:38:17