Ошибка при загрузке разделяемой библиотеки libz.so.1 при кросс-компиляции для arm-linux

Я пытаюсь кросс-компилировать приложение opencv в Ubuntu 14.04 для запуска на ядре ARM. Я могу скомпилировать приложение open cv в Ubuntu с помощью

g++ test.c -o test -I /usr/include/opencv -I /usr/include/opencv2 -L /usr/local/lib/ -lopencv_core -lopencv_imgproc -lopencv_highgui

. Оно компилируется, и у меня есть testl.bin в моем каталоге.

Однако, когда я изменяю компилятор для моего ядра

arm-linux-gnueabi-g++ test.c -o test -I /usr/include/opencv -I /usr/include/opencv2 -L /usr/local/lib/ -lopencv_core -lopencv_imgproc -lopencv_highgui

, я сталкиваюсь с ошибкой

error while loading shared libraries: libz.so.1: cannot open shared object file: no such file or directory.

Когда я пытаюсь установить эту библиотеку, apt-get let я знаю, что это самая новая версия, и ничего не нужно устанавливать.

Может ли кто-нибудь мне помочь?

4
задан 10 August 2015 в 12:49

2 ответа

У меня была та же проблема - это немного сбивает с толку. Кросс-компилятор может быть 32-разрядным (мой случай), таким образом, он жалуется на пропавших без вести 32-разрядной библиотеки:

sudo apt-get install zlib1g:i386

Тогда кросс-компилятор должен работать.

11
ответ дан 10 August 2015 в 22:49
  • 1
    В UEFI, устанавливает первое устройство загрузки на GRUB, GRUB2, GRUB2Win или что-либо, что похоже на это. Но я принимаю Вашу автоматически начальную загрузку в Grub2win, – TooMuchRAM 5 December 2016 в 05:03

У меня была та же проблема, но библиотека, предложенная @Marek, не имела никаких кандидатов установки в моей системе. Вместо этого я решил проблему путем выполнения:

sudo apt-get install lib32z1
5
ответ дан 23 November 2019 в 11:36

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

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