неправильный класс ELF: ошибка ELFCLASS32 в использовании 32 битов .so в машине на 64 бита с помощью dlopen

Я должен пользоваться 32-разрядной общей библиотекой, созданной кем-то еще в моем 64-разрядном приложении в Ubuntu 14.04. Я дал ошибку в заголовке. Я установил библиотеки lib32bz2-1.0, lib32ncurses5 и lib32z1 без успеха. Любые предложения значительно ценятся.

3
задан 17 January 2017 в 10:14

2 ответа

Вы не можете связать исполняемый файл или совместно использованную библиотеку против общие библиотеки, скомпилированные для другой архитектуры и/или платформы. Вы любой

  1. потребность достать версию библиотеки, созданной для той же платформы и архитектуры или от того, кто бы ни предоставил его Вам или путем компиляции его из источника, или

  2. , создаете связывающийся объект для той же платформы и архитектуры как общая рассматриваемая библиотека. Возможно выполнить i386 исполняемые файлы в amd64 системах так, чтобы работал бы.

3
ответ дан 1 December 2019 в 15:52

Я предполагаю, что Вам, вероятно, придется включить поддержку на 32 бита.

Выполнение после команд:

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

Затем попытка, устанавливающая библиотеки на 32 бита.

[еще 111] Информация

1
ответ дан 1 December 2019 в 15:52

Другие вопросы по тегам:

Похожие вопросы: