일상에서 멍때리기

[mac OS X]Shared Library (dylib) 본문

프로그래밍/삽질로그

[mac OS X]Shared Library (dylib)

로 얄 2014. 4. 14. 23:31
반응형

linux만 쓰다가 mac OS X로 넘어와서 이래저래 해깔리는 부분이 많이 있습니다.
max OS X 에서의 동적 라이브러리는 dynamic libraries로 dylib의 확장자를 같습니다. 
환경 설정 적인부분에서 linux의 LD_LIBRARY_PATH 변수를 지정하여 동적 라이브러리 위치를 표시하는 반면, max OS X에서는 DYLD_LIBRARY_PATH변수를 설정해 줍니다. 

 그렇다면 라이브러리의 의존성 확인은 어떻게 할까요?
linux의 ldd, window의 dumpbin이 있듯 mac OS X에서는 otool이라는 툴을 이용하여 확인이 가능하며 사용방법은 아래와같습니다.

otool -L file


이외에도 otool은 많은 기능과 옵션을 가지고 있습니다. (man page 참조)

만약 실행 바이너리가 런타임에 찾는 라이브러리의 경로를 바꾸고 싶은경우 install_name_tool이라는 유틸을 이용할 수 있으며 사용 방법은 아래와 같습니다.

install_name_tool -change 기존라이브러리fullpath 변경된라이브러리fullpath 해당file


해당 툴들은 이외에도 많은 기능들을 포함하고 있지만, 그 많은 부분에 대해서 자세한 조사는 하지 못하였습니다. 기회가 되면 따로 포스팅하도록 하겠습니다. 

 

반응형
Comments