2010-11-22 1 views
2

Xcode에서 "기존 프레임 워크 추가"를 수행하면 libiconv의 세 가지 버전이 나타납니다.iOS에서 사용하는 libiconv는 무엇입니까?

link libiconv.2.4.0.dylib

  • libiconv.2.dylib libiconv.dylib는
  • 최신 말한다 그리고 최고의은 1.13.1입니다. 위의 숫자와 같지 않다고 생각합니다.

    실마리가 있습니까?

  • 답변

    8

    /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.0.1/Symbols/usr/lib/ 폴더에서 실제 라이브러리 인 libiconv.2.dylib 만 있습니다. libiconv.dylib 및 libiconv.2.4.0.dylib는 모두 libiconv.2.dylib에 대한 별칭입니다 (예 : UNIX 용어로 생각하는 것을 선호하는 심볼릭 링크).

    그래서 잠시 후에 링크 할 확률은 전혀 없습니다. 가장 합리적인 일반성을 제공하는 것과 연결하십시오. 따라서 API의 모든 버전을 처리 할 수 ​​있다면 libiconv.dylib에 링크하십시오. 버전 2의 libiconv와 호환되는 API가 필요하면 libiconv.2.dylib에 링크하고 특별히 2.4.0의 기능에 의존한다면 그런 다음 libiconv.2.4.0.dylib에 링크하십시오. 유닉스에서 일하는 방식에 따라 애플은 호환성이 요구 될 때 미래에 dylib의 여러 버전을 제공하거나 실제로 제공 할 수있는 별칭을 변경할 수 있다고 생각합니다. 지금은 모두 학문적입니다.

    Google에서 만들 수있는 것부터 libiconv-1.12는 libiconv.2.4.0.dylib에 빌드됩니다. 그 버전 넘버링의 근거 나 그 아이디어가 어디서 왔는지는 알 수 없습니다.

    +0

    감사합니다. 이상한 버전 번호 매기기, 네. – Plumenator

    +2

    파일 버전 관리는 lib 버전 관리와 관련이 없습니다. 이진 호환성을 보장하기위한 방법 일뿐입니다. 나는 그것이 autotools의 규칙이라고 생각한다 : http://sourceware.org/autobook/autobook/autobook_91.html. –

    관련 문제