Название: Deploy Application Bundle Отправлено: Alucard от Апрель 26, 2011, 13:04 Привет.
Как на Мас`e поменять привязку к dylib для распространения нашел install_name_tool, как-то не получилось ничего, т.е. все равно остается зависимость по старому пути. использовал macdeploy с QtLabs, но получается не со всеми либами. Речь идет об libvlc. macdeploy "нормально" копирует и вроде бы(!) "отвязывает". Но только у libvlc.dylib, libvlccore.dylib а libintl.dylib которая тоже используется вышеуказанными либами копируется в Frameworks, но ее не хотят юзать libvlc* либы. Т.е. все равно остается зависимость по старому пути. Как избавится от этого? Как заставить использовать либы, которые лежат рядом с исполняемым бинарем? Слехка сумбурно, но если есть какие-то непонятные моменты, постараюсь объяснить подробней! Спс. Название: Re: Deploy Application Bundle Отправлено: Авварон от Апрель 26, 2011, 13:17 заменить полный/относительный путь на @executable_path/path/tolibrary.dylib
Название: Re: Deploy Application Bundle Отправлено: Alucard от Апрель 26, 2011, 13:31 Да это как бы ясно. Не получилось... Догадываюсь что не правильно юзал install_name_tool
в папке с реальной либой install_name_tool -change path/to/real/lib @executable_path/path/to/library/in/appbundle/lib.dylib libname.dylib и так install_name_tool -change libname.dylib @executable_path/path/to/library/in/appbundle/lib.dylib path/to/real/lib Название: Re: Deploy Application Bundle Отправлено: Авварон от Апрель 26, 2011, 14:15 там 2 параметра - путь в бандле текущий и тот, какой мы хотим сделать. у Вас я 3 вижу почему-то
Название: Re: Deploy Application Bundle Отправлено: Alucard от Апрель 26, 2011, 14:37 http://doc.qt.nokia.com/qq/qq09-mac-deployment.html
тут три и в help`e isntall_name_tool [-change old new] .../* остальные параметры */ ... input Название: Re: Deploy Application Bundle Отправлено: Авварон от Апрель 26, 2011, 14:57 А, ну да:)
Покажите, что otool -L выводит Название: Re: Deploy Application Bundle Отправлено: Alucard от Апрель 26, 2011, 17:08 Дык по нему и смотрю... выводит старый путь...
Прийду к Маку - скину Название: Re: Deploy Application Bundle Отправлено: Alucard от Апрель 26, 2011, 19:11 "otool -L AVR_Solution.app" :
Цитировать AVR_Solution: /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1) @executable_path/../Frameworks/libvlc.5.dylib (compatibility version 8.0.0, current version 8.0.0) @executable_path/../Frameworks/QtXml.framework/Versions/4/QtXml (compatibility version 4.7.0, current version 4.7.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 103.0.0) При запуске приложения выдает: Цитировать bash-3.2$ ./AVR_Solution dyld: Library not loaded: ///Users/user/tmp/vlc-1.1.8/extras/contrib/hosts/i686-apple-darwin10/lib/libintl.8.dylib Referenced from: /Users/user/Downloads/AVR_Solution-build-desktop/AVR_Solution.app/Contents/MacOS/./../Frameworks/libvlc.5.dylib Reason: no suitable image found. Did find: /usr/local/lib/libintl.8.dylib: mach-o, but wrong architecture Trace/BPT trap Цитировать bash-3.2$ otool -L ../Frameworks/libvlc.5.dylib ../Frameworks/libvlc.5.dylib: @executable_path/../Frameworks/libvlc.5.dylib (compatibility version 8.0.0, current version 8.0.0) @executable_path/../Frameworks/libvlccore.4.dylib (compatibility version 5.0.0, current version 5.2.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4) ///Users/user/tmp/vlc-1.1.8/extras/contrib/hosts/i686-apple-darwin10/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.1.0) /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) Название: Re: Deploy Application Bundle Отправлено: Авварон от Апрель 27, 2011, 23:28 Цитировать dyld: Library not loaded: ///Users/user/tmp/vlc-1.1.8/extras/contrib/hosts/i686-apple-darwin10/lib/libintl.8.dylib Referenced from: /Users/user/Downloads/AVR_Solution-build-desktop/AVR_Solution.app/Contents/MacOS/./../Frameworks/libvlc.5.dylib Цитировать /Users/user/Downloads/AVR_Solution-build-desktop/AVR_Solution.app/Contents/MacOS/./../Frameworks/libvlc.5.dylib Цитировать libvlc.5.dylib в ней тоже надо пути поправитьконкретно вот это: Цитировать ///Users/user/tmp/vlc-1.1.8/extras/contrib/hosts/i686-apple-darwin10/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.1.0) бтв это вообще жесть какая-то, 3 слешаНазвание: Re: Deploy Application Bundle Отправлено: ninjaproger от Ноябрь 03, 2011, 09:50 используй утилиту macdeployqt или скомпили Qt из исходников в статическом режиме и используй его - бандл приложения станет в 2-5 раз меньших размеров и никакие библиотеки не нужны
Название: Re: Deploy Application Bundle Отправлено: sendevent от Ноябрь 03, 2011, 12:10 использую под это дело скрипт - возможно, поможет/чего-нить подскажет:
Код
|