错误的 ELF 类:在 64 位机器上使用 dlopen 时出现 ELFCLASS32 错误

错误的 ELF 类:在 64 位机器上使用 dlopen 时出现 ELFCLASS32 错误

我需要在 Ubuntu 14.04 中的 64 位应用程序中使用其他人创建的 32 位共享库。我收到标题中给出的错误。我已经安装了库lib32bz2-1.0lib32ncurses5lib32z1没有成功。非常感谢任何建议。

答案1

您不能将可执行文件或共享库链接到为不同体系结构和/或平台编译的共享库。您可以

  1. 需要从提供方获取为相同平台和架构构建的库版本,或者从源代码编译它,或者

  2. 为与相关共享库相同的平台和体系结构构建链接对象。可以在 amd64 系统上运行 i386 可执行文件,这样就可以了。

答案2

我认为您可能必须启用 32 位支持。

运行以下命令:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get dist-upgrade

然后尝试安装 32 位库。

更多信息

相关内容