1 votos

Encontrar una biblioteca compartida que no está en su ubicación indicada

Estoy escribiendo código c++, y usando cmake para compilar la aplicación. Quiero añadir el dylib (bibliotecas) a la carpeta Frameworks. Macdeployqt no las encuentra todas.

He escrito mi propio Python script para intentar encontrar la mayoría, pero algunos todavía se me escapan.

He aquí una breve lista de lo que aún no he podido encontrar:

Dependency Not Found! /usr/lib/libz.1.dylib
Dependency Not Found! /usr/lib/libiconv.2.dylib
Dependency Not Found! /usr/lib/libbz2.1.0.dylib
Dependency Not Found! /usr/lib/libexpat.1.dylib
Dependency Not Found! /usr/lib/libresolv.9.dylib
Dependency Not Found! /usr/lib/libxml2.2.dylib
Dependency Not Found! /usr/lib/libsasl2.2.dylib

Normalmente uso brew para instalar (que supongo que está en /usr/local/Cellar por brew --prefix y Cellar), hasta ahora he buscado recursivamente:

/usr/local/opt/**/{lib_name}
/usr/local/Cellar/**/{lib_name}

Donde el "**" puede ser cualquier conjunto de carpetas y nombres. ¿Dónde más puedo mirar, no es en /usr/local/lib donde se indica que debe ser. Incluso un enlace simbólico sería útil.

Necesito encontrar estos archivos, ¿cómo puedo hacerlo, incluso manualmente estaría bien, pero preferiría algún script? ¡De alguna manera la aplicación puede encontrar estos en mi propio ordenador cuando se ejecuta, pero otool me lista lugares (/usr/local/lib) donde no se puede encontrar!

1voto

Douglas Puntos 10417

Necesito encontrar estos archivos [.dylib], ¿cómo puedo hacerlo, incluso manualmente estaría bien, pero preferiría algún script?

Un script no es necesario. Un simple find (véase man find para más detalles) debería ser suficiente:

% find / -name dylib

Es probable que aparezcan algunos errores de "Permiso denegado", que puedes ignorar. Esto es find intentar buscar en un directorio al que no tienes acceso. Lo más probable es que, si no tienes acceso, tu biblioteca no se encuentre allí.

0voto

Marc Wilson Puntos 146

Esas son bibliotecas del sistema, están en la caché dylib, no son archivos discretos en el disco.

Un buen debate es aquí en los foros de desarrolladores de Apple.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X