【问题标题】:Why am I getting a little-endian error when importing .so file in python为什么在 python 中导入 .so 文件时出现 little-endian 错误
【发布时间】:2009-11-06 16:46:49
【问题描述】:

我正在尝试使用名为 PySndObj 的 Python 的 C++ 扩展。并收到一个我从未见过的错误,并且在网上找不到任何相关信息:(

ImportError: /home/nhnifong/SndObj-2.6.6/python/_sndobj.so: ELF 文件数据编码不是 little-endian

我知道这可能意味着字节顺序是倒序的,所以我尝试编写一个小脚本,一次读取文件 2 个字节,并在将它们写回之前切换它们的顺序。没用。

有人知道该怎么做吗?

【问题讨论】:

  • 如果您使用的是 32 位机器,您的脚本应该一次占用 4 个字节。

标签: python import


【解决方案1】:

您必须自己从源代码构建扩展。

您很勇敢地尝试“反转字节”,但只有 ELF 文件的某些部分具有面向字(而不是面向字节)的数据。

此外,有问题的 dll 不太可能是针对您系统的 CPU 架构编译的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多