python typeerror console未定义,Python ctypes加载错误:未定义的符号
我試圖用ctypes將從C源編譯的共享庫加載到
Python中.共享庫(下面名為“libsub.so”)使用了libusb庫.這就是“make”所做的:
gcc -c -O2 -Wall -Werror -g -I../src -I../boot/vnd/fw -I. -fPIC -DLIBUSB_1_0 -I/usr/include/libusb-1.0 -o libsub.o libsub.c
gcc -shared -Wl,-soname,libsub.so -o libsub.so libsub.o
之后我嘗試了Python:
import ctypes
h = ctypes.cdll.LoadLibrary('./libsub.so')
但是,我收到了這樣的錯誤
OSError:./ libsub.so:未定義的符號:libusb_open
我發現“libusb_open”實際上是“/usr/include/libusb-1.0/libusb.h”中libusb頭的一個函數,它已經包含在這個庫“libsub.c”的源代碼中.
在使用ctypes加載C共享庫時,StackExchange中的一些帖子討論了這種“未定義的符號”錯誤,并且通過將編譯器從gcc更改為g來解決問題.但是,我的源代碼是用C語言編寫的 – 所以它可能是一個不同的情況(實際上我嘗試編譯這個源但是得到了一堆錯誤).任何人都可以指出我在這里失蹤了嗎?謝謝!
總結
以上是生活随笔為你收集整理的python typeerror console未定义,Python ctypes加载错误:未定义的符号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php怎么根据接口文档实现功能,Code
- 下一篇: python把dict转为datafra