Ошибка при загрузке разделяемой библиотеки 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 дает мне знать, что она в новейшей версии, и ничего не нужно устанавливать.

Кто-нибудь может мне помочь?

2 ответа

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

sudo apt-get install zlib1g:i386

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

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

sudo apt-get install lib32z1
Другие вопросы по тегам