2013-04-12 1 views
1

내 Mountain Lion MacBook Pro에서 Qt Creator를 실행하려고 애 쓰고있는 내 앱에서 ICU가 this problem입니다.빌드/설치에는 성공했지만 런타임에는 dyld 이미지를 찾을 수 없습니다 - 이유가 무엇입니까?

이제는 동일한 MacBook Pro에서 빌드 한 dmg로 런타임에 유사한 문제가 있음을 발견했습니다. 빌드는 데미지를 실행 성공적으로 완료하고 설치는 성공적으로 나타납니다,하지만 난 실행하려고하면 내가 얻을 :

Dyld Error Message: 
    Library not loaded: @executable_path/../Frameworks/libicuuc.46.dylib 
    Referenced from: /Applications/MapCreator.app/Contents/SharedLibraries/libicui18n.46.1.dylib 
    Reason: image not found 

나는 우리의 응용 프로그램의 이전 태그 버전을 잡고 (스크립트 작성) 소스 제어에서와 내가 얻을 이 MacBook에 내장 된 것과 동일한 문제입니다.

빌드 스크립트를 실행할 때 나타나는 유일한 오류는 아래에 나와 있습니다. 나는 이러한 오류가 항상 모든 시스템을 기반으로 우리의 존재왔다 생각하고 문제 적이 없다,하지만 난 여기에 나열 단지의 경우에 도움이 될 밝혀 :

ERROR: "strip: can't map file: /Users/david/dev/svn/map_creator1.0.2/build/mac/pkg-root/Applications/MapCreator.app/Contents (Invalid argument) 
" 
ERROR: "" 
ERROR: "install_name_tool: can't map file: /Users/david/dev/svn/map_creator1.0.2/build/mac/pkg-root/Applications/MapCreator.app/Contents/Frameworks//.. (Invalid argument) 
" 
ERROR: "" 
ERROR: "otool: can't map file: /Users/david/dev/svn/map_creator1.0.2/build/mac/pkg-root/Applications/MapCreator.app/Contents/Frameworks//.. (Invalid argument) 
" 
ERROR: no file at "/usr/lib/libicui18n.46.dylib" 
ERROR: no file at "/usr/lib/libicuuc.46.dylib" 
ERROR: no file at "/usr/lib/libicudata.46.dylib" 

내가 어디에 확실하지 않다 이걸 추적하려고합니다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까?

+0

MapCreator.app 안에'libicuuc.46.dylib'가 있습니까? 그렇다면 어떤 경로에 있습니까? – bdash

+0

예, 다른 ICU dylib가있는 Contents/SharedLibraries에 있습니다. SharedLibraries는 Frameworks의 형제입니다. 그건 그렇고, 그것은 이전 버전의 앱과 같은 장소입니다. 내가 말할 수있는 한 Frameworks에는 한번도 없었습니다. –

답변

1

분명히 내 MacBook에 ICU 설치와 다른 점이 있습니다. 문제는 우리 스크립트에 더 많은 수의 install_name_tool -change 줄을 추가하여 문제의 ICU 파일에 대한 종속성을 찾는 위치를 변경함으로써 해결됩니다.

형식은 다음과 같습니다 "오래된"경로가 일치하지 않는 경우

install_name_tool -change old new file 

, 그것은 단지 명령을 무시합니다. 그래서 새로운 라인을 추가하는 것은 가능한 다양한 ICU 설치의 기초를 다룹니다.

관련 문제