Erro ao carregar a biblioteca compartilhada libz.so.1 enquanto compila cruzada para o arm-linux

1

Estou tentando compilar um aplicativo opencv no Ubuntu 14.04 para executar em um núcleo ARM. Eu posso compilar o aplicativo open cv no Ubuntu com

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

Ele compila e eu tenho um testl.bin no meu diretório.

No entanto, quando eu altero o compilador para o meu núcleo do braço

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

Encontrei-me com o erro

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

Quando eu tento e instalo esta biblioteca o apt-get me avisa que está na sua mais nova versão e não há nada para ser instalado.

Alguém pode me ajudar?

    
por Mark Corrigan 10.08.2015 / 11:49

2 respostas

8

Eu tive o mesmo problema - é um pouco confuso. O compilador cruzado pode ser de 32 bits (meu caso), por isso está reclamando da falta da biblioteca de 32 bits:

sudo apt-get install zlib1g:i386

Em seguida, o compilador cruzado deve funcionar.

    
por Marek 30.11.2015 / 12:28
2

Eu tive o mesmo problema, mas a biblioteca sugerida pelo @Marek não tinha candidatos de instalação no meu sistema. Em vez disso, resolvi o problema executando:

sudo apt-get install lib32z1
    
por Vittorio Cozzolino 08.01.2018 / 14:01