/ Problemas de la biblioteca estática / Xcode Cocoa libav * y MagickWand - xcode, macos, cacao, enlace estático, libavcodec

Problemas con la biblioteca estática de Xcode Cocoa libav * y MagickWand: xcode, macos, cacao, enlaces estáticos, libavcodec

He estado desarrollando una aplicación Cocoa que usa ambosLas bibliotecas libav * e ImageMagick C, pero tengo problemas para distribuir la aplicación. He enlazado a varias bibliotecas estáticas en Xcode así:

Xcode enlazando con librerías

La aplicación se construye y funciona perfectamente bien en mimáquina. Ahora estoy tratando de ejecutarlo en una computadora diferente. Archivé la compilación y la exporté como una aplicación macOS en Xcode, lo que me deja con el archivo .app. Ahora, cuando intento ejecutarlo en un mac diferente, aparece el siguiente error:

enter image description here

Si corro otool -L binary_name en el binario construido, me sale un.dylib para cada uno de los archivos .a incluidos. Pensé que el punto central de una biblioteca estática era que se integra en el binario principal, y que no hay necesidad de hacer ningún enlace dinámico. ¿Por qué sigue intentando cargar el dylib?

Respuestas

0 para la respuesta № 1

Logré resolver este problema y creo que se debió a la nota técnica que se encuentra aquí: Usando versiones estáticas de bibliotecas dinámicas existentes. Dado que las dependencias que estoy usando se instalaron a través de homebrew, el lib las carpetas de cada dependencia tenían los archivos .a y .dylib, y Xcode se vinculaba utilizando las dylibs. Para solucionarlo, copié todos los archivos .a que necesitaba en una carpeta separada y ajusté mi Library Search Paths en Xcode para apuntar a la nueva carpeta. La aplicación ahora crea y vincula a las bibliotecas estáticas como debería.