使用ctypes错误“ ELF类错误”
|
从32位安装到64位Ubuntu安装后,我的
python+ctypes+c99
代码被破坏了。到目前为止,我读到错误./libfoo.so: wrong ELF class: ELFCLASS32
意味着我的libfoo.so
[1]是32Bit库,而python需要64Bit版本。如何告诉gcc/ctypes
将库生成为32Bit?
感谢您的任何反馈!
错误信息:
File \"foo.py\", line 8, in <module>
autofoo=cdll.LoadLibrary(\"./libfoo.so\")
File \"/usr/lib/python2.6/ctypes/__init__.py\", line 431, in LoadLibrary
return self._dlltype(name)
File \"/usr/lib/python2.6/ctypes/__init__.py\", line 353, in __init__
self._handle = _dlopen(self._name, mode)
OSError: ./libfoo.so: wrong ELF class: ELFCLASS32
[1]我用gcc -c -std=c99 -lm -D_GNU_SOURCE -Wall -pedantic -fopenmp -ofoo.o foo.c
编译libfoo.so
没有找到相关结果
已邀请:
3 个回复
哭木算
那应该让您在我使用过的任何gnu工具链上都拥有一个64位的库。如果仍然出现错误,则可能是您的工具链或Python中的某些错误。
凸晴
导力疵谜