2

Linux 上の Python からアクセスしたいクローズド ソースの x86_64 ライブラリがあります。

私は通常、これに ctypes を使用します。

ただし、このライブラリはアーカイブ (*.a) ファイルとして提供されます。ライブラリは -fPIC オプションなしでコンパイルされているため、動的な *.so に再リンクできません。ctypes には *.so dll が必要です。

このライブラリのパッケージ担当者に文句を言う以外に、これを *.so に入れるためにできることはありますか? 何とかラッパー関数を書いているのでしょうか?

編集:

https://stackoverflow.com/a/2657390/4323で答えを試す:

gcc -shared -o closed_lib.so -Wl,--whole-archive -fPIC closed_lib.a -Wl,--no-whole-archive
/usr/bin/ld: closed_lib.a(myFFT.o): relocation R_X86_64_32S against `.bss' can not be used when making a shared object; recompile with -fPIC
closed_lib.a(myFFT.o): error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make: *** [closed_lib.so] Error 1
4

1 に答える 1