Я пытаюсь кросс-компилировать приложение 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 я знаю, что это самая новая версия, и ничего не нужно устанавливать.
Может ли кто-нибудь мне помочь?
У меня была та же проблема - это немного сбивает с толку. Кросс-компилятор может быть 32-разрядным (мой случай), таким образом, он жалуется на пропавших без вести 32-разрядной библиотеки:
sudo apt-get install zlib1g:i386
Тогда кросс-компилятор должен работать.
У меня была та же проблема, но библиотека, предложенная @Marek, не имела никаких кандидатов установки в моей системе. Вместо этого я решил проблему путем выполнения:
sudo apt-get install lib32z1