我们正在使用 swig 将 python 绑定(bind)添加到 C++ 库。我已经创建了 .i 文件并将 swig 生成的输出编译到库中。
但是,当尝试在 Python 中使用我们的库时,会出现以下错误:
ImportError: /home/satpal/src/alpha/USBDrDaq/examples/libUSBDrDAQ.so: undefined symbol: libusb_clear_halt
如您所见,该库使用 LibUSB。 .i 文件包含 libusb.h,这似乎还不够。
Python 是否也需要 libUSB 的绑定(bind)?
最佳答案
您需要将 libUSB 链接到您正在生成的共享库中。也就是说,构建共享库的命令行应该是这样的:
gcc -shared example.o example_wrap.o -o _example.so -lusb
注意末尾的-lusb
。
关于c++ - swig 和辅助共享库 (c++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10781265/