2

swig を使用して、Python バインディングを C++ ライブラリに追加しています。.i ファイルを作成し、swig で生成された出力をライブラリにコンパイルしました。

ただし、Python 内からライブラリを使用しようとすると、次のエラーが発生します。

ImportError: /home/satpal/src/alpha/USBDrDaq/examples/libUSBDrDAQ.so: undefined symbol: libusb_clear_halt

ご覧のとおり、ライブラリは LibUSB を使用しています。.i ファイルには libusb.h のインクルードがありますが、これでは十分ではないようです。

Python は libUSB のバインドも必要になりますか?

4

1 に答える 1

3

作成中の共有ライブラリに libUSB をリンクする必要があります。つまり、共有ライブラリを構築するコマンド ラインは次のようになります。

gcc -shared example.o example_wrap.o -o _example.so -lusb

-lusb末尾に注意してください。

于 2012-05-28T08:10:09.347 に答える