2009-12-03 4 views
0

다른 프레임 워크에 의존하는 프레임 워크를 컴파일 중입니다. 필자의 시스템과 동일한 버전이 아닌 다른 사용자에게 프레임 워크를 배포 할 때 문제가 있습니다. xcode가 내 시스템에 설치된 마지막 버전에 "하드 링크"를 생성하는 것 같습니다.xcode : "현재"버전의 프레임 워크와 연결

gecode.framework/버전이/19/gecode (호환 버전 19.0.0, 현재 버전 19.0.0)

가능한 (그리고 작업) : 내 프레임 워크에 "otool -L은"에 대한 링크를보고 솔루션은 install_name_tool 명령으로 링크 된 프레임 워크의 경로를 변경하는 것입니다

`install_name_tool -change gecode.framework/Versions/18/gecode` gecode.framework/Versions/Current/gecode my-constraints-framework 

을하지만 빌드 단계에서 프레임 워크의 "현재"버전에 대해 직접 링크 엑스 코드를 이야기하는 간단한 방법은 무엇입니까?

답변

1

프레임 워크의 "호환 버전"은 호환되는 버전에 대해 변경해서는 안됩니다. "18"이 "19"로 변경되면 새로운 프레임 워크는 호환되지 않습니다. 즉, "18"에 연결된 코드는 재 컴파일/수정없이 "19"를 사용할 수 없습니다.

Mac OS에서이 문제를 해결하는 일반적인 방법은 필요한 경우 프레임 워크를 번들로 복사하고 @executable_path를 사용하여 링크하는 것입니다.

관련 문제