2010-09-25 35 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