1

正如教程所说() ,我已经构建.so了 cython 。在我构建的那个系统上工作正常;不; 但是当我在其他系统上使用它时,它会给我一个错误消息 python setup.py build_ext --inplaceImportError
ImportError: /home/test/test_1.so: wrong ELF class: ELFCLASS32

我认为它在 32 位和 64 位库之间不匹配;那么我如何在 cythonizing 时修复它???

4

2 回答 2

3

你不能。您需要.so在 64 位系统上重新构建,并确保始终在正确的系统上使用正确的版本。由于这些体系结构的差异,cython 实际上不可能允许 32 位库在 64 位系统上使用,反之亦然。例如Ruby FFI 也会有同样的问题。

于 2012-12-23T09:51:16.143 回答
2

您不能在不同的架构中共享相同的二进制文件。但是只要你在任一系统上安装了python和所需的库,你就可以编译Cython生成的.c文件,而不需要在其他机器上安装Cython(即,将.pyx转换为.c )。

于 2012-12-23T12:45:57.770 回答