2010-12-16 6 views
1

응용 프로그램을 만들었습니다. 릴리스 모드를 구축 할 때 제대로 작동하는 것처럼 보입니다. 다음의 출력은 다음과 같습니다 -L RightDoneIt.app/Contents/MacOs/rightdoneit이Mac에서 Qt 응용 프로그램 배포

/opt/local/lib/libMagick++.4.dylib (compatibility version 5.0.0, current version 5.0.0) 
QtGui.framework/Versions/4/QtGui (compatibility version 4.7.0, current version 4.7.0) 
QtCore.framework/Versions/4/QtCore (compatibility version 4.7.0, current version 4.7.0) 
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0) 
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 625.0.0) 
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1) 

당신이 임 그 후 ImageMagick이 라이브러리

를 사용하여 첫 번째 줄에서 볼 수 있듯이, 내가 배포 otool macdeployqt 도구 : RightDoneIt.app deployqt 예상되는 모든 파일을 생성 을 -dmg 나는 내가 deploytool을 만들어 응용 프로그램을 실행하려고하면 otool 임

@executable_path/../Frameworks/libMagick++.4.dylib (compatibility version 5.0.0, current version 5.0.0) 
@executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui (compatibility version 4.7.0, current version 4.7.0) 
@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore (compatibility version 4.7.0, current version 4.7.0) 
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0) 
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 625.0.0) 
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1) 

를 받고 확인 입력 할 때, 나는 런타임을 얻을 매회 오류 ImageMagick 함수를 실행하려고 할 때.

그 문제를 해결하는 방법을 아는 사람이 있습니까?

+0

무엇이 오류입니까? libMagick ++는 libmagick C 라이브러리/libraries와 같은 추가 라이브러리에 의존하지 않습니까? otool을 사용하여 libMagick ++. dylib를 확인하십시오. –

답변

1

비슷한 상황이 발생하여 웹에서 자동 도구를 찾을 수 없습니다. . 그냥 ++ otool 사용 4.dylib ++ libMagick을 확인하고 libMagick에 대한 install_name_tool을 실행 참조를 들어 4.dylib

1

:.

    • Mac Deployment는 맥 앱 스토어

    • 에 대한 QtCreator 응용 프로그램 개발

    여기 xxxx = 신청서

    1. 릴리스 모드 얕은 빌드에서 프로젝트를 빌드하십시오.

    2. cd /Users/QtSDK/QtSources/4.7.4/bin 또는 터미널에서 /Users/xxxx/Desktop/abc/qt-everywhere-opensource-src-4.8.4/bin

    3. :이 터미널에서 다음 모든 종속 라이브러리와 을 응용 프로그램 파일을 만듭니다 ./macdeployqt "path to .app file"
    4. :

      • CD "Release folder (.app folder)"
      • install_name_tool -id @executable_path/../Frameworks/libtag.1.dylib xxxx.app/Contents/Frameworks/libtag.1.dylib

      • 터미널에서 터미널 명령 CD "Release folder 에 의해 태그 라이브러리와 같은
      • install_name_tool -change /Users/xxxx/wav/taglib-1.8/Build/taglib/libtag.1.dylib @executable_path/../Frameworks/libtag.1.dylib xxxx.app/Contents/MacOs/xxxx

      • install_name_tool -change /Users/xxxx/wav/taglib-1.8/Build/taglib/libtag.1.dylib @executable_path/../Frameworks/libtag.1.dylib xxxx.app/Contents/Frameworks/libtag.1.dylib

    5. 확인 다른 종속 라이브러리 : 오류는 다음 CD xxxx.app/Contents/MacOS 다음 tool -L xxxx를 입력하고 모든 종속 라이브러리를 참조 그 경우 tool -L appliaxtion 파일 모든 종속 라이브러리에 대해 4 단계를 수행하십시오.

    6. 모든 종속 라이브러리를 app/contents/Frameworks으로 복사하십시오.DMG를 만들기위한 app/contents/MacOs
    7. 복사 ffmpeg, lastfm 등 (만 필요한 폴더 또는 파일) - (details are here) 또는 DMG 캔버스를 사용합니다.