我有一个简单的Python程序试图在32位系统上调用共享对象文件,我也在64位系统上测试了这个,我认为.SO文件是32位(因为它是基于SDK的文件,是为嵌入式系统提供给我的。虽然我运行程序时遇到导入错误。
我的代码:
import libCVAPIV01_DESFire
CV_SetCommunicationType(1)
ActiveBuzzer(0,1,[])
错误:
ImportError: /home/paul/Downloads/Test/libCVAPIV01_DESFire.so: wrong ELF class: ELFCLASS32
我一整天都被困在这里,无法弄清楚原因。我在线阅读它必须是导致问题的设备BIT(32/64),但我在32位机器和32位的Raspberry Pi上试过这个 - 理想情况下我想让它在Pi但它只是不起作用。
我的libCVAPIV01_DESFire.py
文件:
def __bootstrap__():
global __bootstrap__, __loader__, __file__
import sys, pkg_resources, imp
__file__ = pkg_resources.resource_filename(__name__,'libCVAPIV01_DESFire.so')
__loader__ = None; del __bootstrap__, __loader__
imp.load_dynamic(__name__,__file__)
__bootstrap__()
运行Python 2.7。
有什么想法吗?