после перехода с 32-разрядной версии Ubuntu на 32-битный мой код python+ctypes+c99
не работает. Я до сих пор читал, что ошибка ./libfoo.so: wrong ELF class: ELFCLASS32
означает, что мой libfoo.so
[1] является 32-битной библиотекой, а python хочет 64-битную версию. Как мне сказать 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] Я компилирую libfoo.so
с gcc -c -std=c99 -lm -D_GNU_SOURCE -Wall -pedantic -fopenmp -ofoo.o foo.c