Ошибка при загрузке разделяемой библиотеки 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