私はCtthonを使ってfftw3に依存するPythonでCの数値ライブラリを使用しようとしています。のは、私はこのようになりますプログラムを持っているとしましょう:PythonのCtypとFFTWのリンク
foo.cc:
#include <fftw3.h>
extern "C"{
void foo(){
fftw_complex *result;
result = fftw_alloc_complex(1024*1024*1024);
}
私は、この使用してコンパイルします。私は、ctypesのを使用してのpythonにそれをロードしようとすると、リンクされているようには見えない
icpc -O3 -fpic -c foo.cc -o foo.o
icpc -shared -o libfoo.so foo.o -lfftw3
を適切:
import ctypes
lib = ctypes.cdll.LoadLibrary('libfoo.so')
パイソンプリント:
OSError: libfoo.so:
undefined symbol: fftw_alloc_complex
私が最初に ./configureを で設定FFTW 3.1の新規インストールを使用していた
は を作る をインストールしますが、hereを概説として、私はその後、「-fPIC」のようなさまざまなオプションの様々なFFTWを再コンパイルしようとしています。これにより、同じエラーメッセージが表示され、今はアイデアがありません。この同じ手順は、以前はGSLのような外部ライブラリを使用するPythonに他のライブラリをインポートするために働いていたので、FFTW3で何がうまくいかないのか分かりません。どんな助けでも大歓迎です。
〜ダグ