2010-12-16 4 views
1

Я сделал приложение и, кажется, прекрасно работает, когда создаю режим выпуска. Вот вывод: otool -L RightDoneIt.app/Contents/MacOs/rightdoneitРазвертывание приложения Qt на Mac

/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) 

Как видно из первой строки, Im использованием библиотеки ImageMagick

После этого я развернуть с macdeployqt инструмента: deployqt RightDoneIt.app -dmg Это производит все ожидаемые файлы и когда я печатаю проверить с otool Im получая

@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) 

Если я пытаюсь запустить приложение, созданное с помощью deploytool, я получаю время выполнения ошибка каждый время Im пытается запустить функцию ImageMagick.

Кто-нибудь знает, как это исправить?

+0

Какая ошибка? ли libMagick ++ зависит от других библиотек, таких как библиотека/библиотеки libmagick C? Проверьте libMagick ++. Dylib с otool. – 2010-12-16 13:00:35

ответ

1

С подобной ситуацией я получаю и не могу найти автоматический инструмент в Интернете. Просто проверьте libMagick ++ 4.dylib с помощью otool и запустить install_name_tool для libMagick ++ 4.dylib

1

Для справки:..

  • Mac Deployment

  • Разработка QtCreator приложение для Mac App Store

Здесь 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

    • 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. Проверьте другие зависимые библиотеки TagLib терминалом команды CD "Release folder В терминале: tool -L appliaxtion файл, если он какие-либо ошибки, то CD xxxx.app/Contents/MacOS введите tool -L xxxx и увидеть все зависимые библиотеки и сделать шаг 4. для всех зависимых библиотек.

  6. Скопируйте всю зависимую библиотеку в app/contents/Frameworks.
  7. Copy ffmpeg, lastfm и т.д. (требуется только папка или файлы) для app/contents/MacOs для зарабатывания DMG: - (details are here) или использовать DMG Canvas.
Смежные вопросы