koodev

'dylib'에 해당되는 글 1건

  1. macOS 앱에서 dylib 이 로드되지 않는 문제

macOS 앱에서 dylib 이 로드되지 않는 문제

Programming

Xcode로 macOS 앱을 만들다가 외부 라이브러리를 사용할 일이 있어서 dylib을 링크하려 했는데, 해당 dylib을 로드할 수 없다는 런타임 에러메시지가 나왔다. 그 프로젝트는 이미 a 파일을 링크해서 쓰고 있었고, a 파일 때와 같은 방법으로 dylib을 셋팅하고 있었다.

생각해보니 dylib은 추가적으로 해 주어야 하는 일이 있었다. a 파일은 심볼이 타겟 바이너리에 복사되어 들어가기 때문에 그냥 쓰면 되는 것이었고, dylib은 so 같은것이기 때문에 타겟 머신(macOS 컴퓨터)에 dylib을 설치하거나(/usr/lib 같은데다), 아니면 번들로 앱 패키지에 심어 넣어야 하는 것이다.

설치를 하는 것은 번거로우니까 스킵하고, 번들로 심는 방법을 적어본다. Xcode의 Navigator 에서 프로젝트 파일을 누른 다음, General - Frameworks, Libraries, and Embedded Content 항목을 살펴보자. 안에 테이블에서 해당하는 dylib 파일의 Embed 속성에서 'Embed & Sign' 옵션을 선택하면 끝.

참고로 설치하는 방법은 install_name_tool 이라는 명령어를 사용한다. 다음 링크 참조: Embedding .dylib libraries in your application bundle.

참고