SWIG-PHP 错误:无效的库
我是 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 启动:第 0 行未知中的无效库(可能不是 PHP 库)“zinnia.so”
有人知道如何解决吗?
Apache/2.2.14 (Ubuntu) PHP/5.3.2 Swig 1.3.2
谢谢
I'm new to SWIG and I'm trying to make a PHP5 wrapper around this library
https://sourceforge.net/projects/zinnia/
The project includes the interface file zinnia.i
Following www.swig.org/Doc1.3/Php.html
I run
swig -php -c++ zinnia.i
gcc `php-config --includes` -fpic -c zinnia_wrap.cpp
gcc -shared -L/usr/local/lib/ -lzinnia -o zinnia.so
Then I load it in PHP
extension=zinnia.so
But when I start apache I get this error
PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) 'zinnia.so' in Unknown on line 0
Does anyone know how to solve it?
Apache/2.2.14 (Ubuntu) PHP/5.3.2 Swig 1.3.2
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不知道你的问题解决了吗?
我没有尝试过制作 PHP5 包装器,但我认为尝试使用 g++ 而不是 gcc 来生成 c++ 代码可能是值得的。
当我不小心编译了 c 库而不是 c++ 库时,我遇到了链接问题。
例如,SWIG ImportError:未定义符号:_Py_RefTotal
不确定这是否有帮助,但由于它很快就能尝试,我想我提到它只是为了以防万一!
汤姆
I'm not sure if you solved your problem?
I have not tried to make a PHP5 wrapper but I thought it might be worth trying to use g++ rather than gcc to generate you c++ code.
I have had linking problems when I accidentely compiled a c-library rather than a c++ library.
For example, SWIG ImportError: undefined symbol: _Py_RefTotal
Not sure if this will help, but since its quick to try I thought I mention it just in case!
Tom