2

libnetcdf を PHP とインターフェースする必要があります。(Google コードの php-netcdf が壊れています)

ここに netcdf.i があります:

%module netcdf
 %{
 /* Includes the header in the wrapper code */
 #include "netcdf.h"
 %}

 /* Parse the header file to generate wrappers */
 %include "netcdf.h"

やった :

gcc `php-config --includes` -fpic -c netcdf_wrap.c
gcc -shared netcdf_wrap.o -o netcdf.so

しかし、phpで拡張機能をロードすると、次のようになります:

Unable to load dynamic library netcdf.so:
undefined symbol: ncerr in Unknown on line 0

そんな試みは初めてです。何か不足していますか?

-lnetcdf フラグが追加されました。

今、私は得ました: undefined symbol: zend_error_noreturn. netcdf_wrap.c で zend_error_noreturn を zend_error に置き換える問題を修正

4

2 に答える 2

1

差し迫った問題は、libnetcdfに対してリンクしていないことが原因です。-lこれを行うには、gccのフラグが必要です。

gcc -shared netcdf_wrap.o -o netcdf.so -lnetcdf
                                           ☝
于 2012-02-19T20:55:28.093 に答える
0

Google Code の php-netcdf は壊れていません。未完成であり、メンテナンスされていません。ただし、寄稿者の 1 人である Santi Oliveras は、なんとかそれを使用したようです。彼に連絡してみてください。新しいコードか何かを持っているかもしれません。または、お気軽にプロジェクトを引き継いでください。

PS私は著者です。

于 2013-02-27T07:49:43.310 に答える