Russian Qt Forum
Ноябрь 24, 2024, 19:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Как собрать билд под MacOS  (Прочитано 9998 раз)
baka
Гость
« : Июль 14, 2010, 00:54 »

Добрый день,
у меня есть исходники приложения которое я хочу собрать под MacOS.
и доступ к мак ос буквально на 30-40 минут в неделю.
я установил QtCreator под мак, приложение из него запускается и работает, но я не знаю как задеплоить.
т.е. под виндой я просто кладу dll'ки рядом с exe'шником в все.
А каким образом поступить в MacOS т.е. получится ли если просто положить либы в один каталог с бинарником, и где именно
под маком находятся либы(и какое у них расширение файла) я не знаю.

Подскажите пожалуйста  Плачущий Плачущий Плачущий

P.S.
Я  бы сам разобрался просто, просто мак не мой, я его на долго заполучить не могу и разбираться на месте будет некогда.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Июль 14, 2010, 02:30 »

Проще всего поставить SDK и все либы будут на месте. Помещаются в /Library/Frameworks на системном диске (или какой указан при установке). Положить рядом с исполняемым файлом - ну для др. библиотек это работает, для Qt конкретно не проверял, да и нет смысла, неразумно заливать тонны для каждого Qt проекта.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #2 : Июль 14, 2010, 05:56 »

http://doc.qt.nokia.com/4.6/deployment-mac.html
самый простой способ - сделать с консоли macdeployqt yourApp.app
но эта штука не отдеплоит твои плагины, их придется делать руками (см ссылку)
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #3 : Июль 14, 2010, 16:15 »

Baka,

Установи MacOS X на VMWare.

А лучше всего скачай уже готовый образ виртуалки МакОс. Их полно.
Записан
baka
Гость
« Ответ #4 : Июль 22, 2010, 18:20 »

Спасибо большое вроде начало деплоится,


у меня возник еще один вопрос,
рядом с бинарным файлом хранится директория с ресурсными файлами(картинки музыка).
и обращение к ним из проги происходит так QPixmap("media/ui/mainmenu/background.png");

еще я смотрел что находится внутри MyApplication.app
там есть подраздел resource
можно ли папку media поместить прямо в  MyApplication.app

сможет ли моя прока в таком случае ни только читать но и писать в ini-файлы находящиеся в  MyApplication.app?
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #5 : Июль 22, 2010, 18:32 »

Используйте ресурсы Qt (qrc)
бинарный файл - это MyApplication.app или MyApplication.app/Contents/MacOS/MyApplication?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #6 : Июль 22, 2010, 19:15 »

еще я смотрел что находится внутри MyApplication.app
там есть подраздел resource
можно ли папку media поместить прямо в  MyApplication.app

сможет ли моя прока в таком случае ни только читать но и писать в ini-файлы находящиеся в  MyApplication.app?
Можете, но это решение не кросс-платформенное. Mac имеет свою систему ресурсов, поддерживается файловой системой. Qt ее не использует, фолдер Resources не содержит тех ресурсов что Вы создали в Qt. Поэтому лучше делать однообразно (и кросс-платформенно) - класть ini файлы рядом c application
Записан
baka
Гость
« Ответ #7 : Июль 23, 2010, 05:09 »

Ясно спасибо большое,

у меня еще вопрос,
я собрал с помощью macdeployqt, *.dmg файл

каким образом я могу туда добавить папку с ресурсами ?
моя программка сможет в эти ресурсы писать если они находятся в *.dmg?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #8 : Июль 23, 2010, 12:03 »

я собрал с помощью macdeployqt, *.dmg файл

каким образом я могу туда добавить папку с ресурсами ?
моя программка сможет в эти ресурсы писать если они находятся в *.dmg?
Про macdeployqt ничего не знаю, пользуюсь стандартной Disk Utility для создания dmg, нет проблем включить любые файлы и фолдеры. Писать не сможет, dmg для этого не предназначен
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #9 : Июль 23, 2010, 13:57 »

Igors
почему, есть же возможность создать dmg с правами на чтение/запись
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #10 : Июль 23, 2010, 14:40 »

Igors
почему, есть же возможность создать dmg с правами на чтение/запись
Об этом просто не знал  Улыбающийся Но все равно, кросс-платформенностью тут не пахнет
Записан
baka
Гость
« Ответ #11 : Июль 23, 2010, 14:45 »

Примерно ясно,
просто мне надо хранить сохраненки я это делаю через QSettings который пишет в <file>.ini
а куда лучше класть сохраненки под МакОС(реестра то нет). ?
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #12 : Июль 23, 2010, 16:38 »

туда, куда это делает QSettings по умолчанию
А вообще настройки в юниксах живут прямо в хомяке.
Маковские же настройки лежат в ~/Library/Preferences
« Последнее редактирование: Июль 23, 2010, 16:41 от Авварон » Записан
baka
Гость
« Ответ #13 : Июль 26, 2010, 16:13 »

Спасибо,

у меня еще такой вопрос может не совсем в ту ветку...

вообщем как малой кровью под MacOS программно включить нужное мне разрешение экрана?

получится ли и Qt-шного класса дернуть какое либо маковское API чтоб так сделать,
и какое примерно?
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #14 : Июль 26, 2010, 18:40 »

я бы за такое убил... Это вообще настройки ОС. Исключение - игрушечки:) Можно только получить - см QDesktopWidget
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.103 секунд. Запросов: 23.