Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: baka от Июль 14, 2010, 00:54



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

Подскажите пожалуйста  :'( :'( :'(

P.S.
Я  бы сам разобрался просто, просто мак не мой, я его на долго заполучить не могу и разбираться на месте будет некогда.


Название: Re: Как собрать билд под MacOS
Отправлено: Igors от Июль 14, 2010, 02:30
Проще всего поставить SDK и все либы будут на месте. Помещаются в /Library/Frameworks на системном диске (или какой указан при установке). Положить рядом с исполняемым файлом - ну для др. библиотек это работает, для Qt конкретно не проверял, да и нет смысла, неразумно заливать тонны для каждого Qt проекта.


Название: Re: Как собрать билд под MacOS
Отправлено: Авварон от Июль 14, 2010, 05:56
http://doc.qt.nokia.com/4.6/deployment-mac.html
самый простой способ - сделать с консоли macdeployqt yourApp.app
но эта штука не отдеплоит твои плагины, их придется делать руками (см ссылку)


Название: Re: Как собрать билд под MacOS
Отправлено: vipet от Июль 14, 2010, 16:15
Baka,

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

А лучше всего скачай уже готовый образ виртуалки МакОс. Их полно.


Название: Re: Как собрать билд под MacOS
Отправлено: baka от Июль 22, 2010, 18:20
Спасибо большое вроде начало деплоится,


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

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

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


Название: Re: Как собрать билд под MacOS
Отправлено: Авварон от Июль 22, 2010, 18:32
Используйте ресурсы Qt (qrc)
бинарный файл - это MyApplication.app или MyApplication.app/Contents/MacOS/MyApplication?


Название: Re: Как собрать билд под MacOS
Отправлено: Igors от Июль 22, 2010, 19:15
еще я смотрел что находится внутри MyApplication.app
там есть подраздел resource
можно ли папку media поместить прямо в  MyApplication.app

сможет ли моя прока в таком случае ни только читать но и писать в ini-файлы находящиеся в  MyApplication.app?
Можете, но это решение не кросс-платформенное. Mac имеет свою систему ресурсов, поддерживается файловой системой. Qt ее не использует, фолдер Resources не содержит тех ресурсов что Вы создали в Qt. Поэтому лучше делать однообразно (и кросс-платформенно) - класть ini файлы рядом c application


Название: Re: Как собрать билд под MacOS
Отправлено: baka от Июль 23, 2010, 05:09
Ясно спасибо большое,

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

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


Название: Re: Как собрать билд под MacOS
Отправлено: Igors от Июль 23, 2010, 12:03
я собрал с помощью macdeployqt, *.dmg файл

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


Название: Re: Как собрать билд под MacOS
Отправлено: Авварон от Июль 23, 2010, 13:57
Igors
почему, есть же возможность создать dmg с правами на чтение/запись


Название: Re: Как собрать билд под MacOS
Отправлено: Igors от Июль 23, 2010, 14:40
Igors
почему, есть же возможность создать dmg с правами на чтение/запись
Об этом просто не знал  :) Но все равно, кросс-платформенностью тут не пахнет


Название: Re: Как собрать билд под MacOS
Отправлено: baka от Июль 23, 2010, 14:45
Примерно ясно,
просто мне надо хранить сохраненки я это делаю через QSettings который пишет в <file>.ini
а куда лучше класть сохраненки под МакОС(реестра то нет). ?


Название: Re: Как собрать билд под MacOS
Отправлено: Авварон от Июль 23, 2010, 16:38
туда, куда это делает QSettings по умолчанию
А вообще настройки в юниксах живут прямо в хомяке.
Маковские же настройки лежат в ~/Library/Preferences


Название: Re: Как собрать билд под MacOS
Отправлено: baka от Июль 26, 2010, 16:13
Спасибо,

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

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

получится ли и Qt-шного класса дернуть какое либо маковское API чтоб так сделать,
и какое примерно?


Название: Re: Как собрать билд под MacOS
Отправлено: Авварон от Июль 26, 2010, 18:40
я бы за такое убил... Это вообще настройки ОС. Исключение - игрушечки:) Можно только получить - см QDesktopWidget


Название: Re: Как собрать билд под MacOS
Отправлено: Igors от Июль 26, 2010, 19:21
я бы за такое убил...
А я бы добил. Это должно делаться только в случае крайней/абсолютной необходимости.

..какое либо маковское API чтоб так сделать,
и какое примерно?
Общее правило для Mac: ВСЕ документировано и все можно найти на developer.apple.com. Однако не рассчитывайте что Вы быстренько дернете пару-тройку нативных ф-ций - обычно такая экскурсия занимает несколько дней. Так что лучше сначала прикинуть - а стОит ли?


Название: Re: Как собрать билд под MacOS
Отправлено: baka от Июль 26, 2010, 19:31
Дак я собственно и делаю игрушечку,

дело в том что если я просто разворачиваю QGraphicsScenView на весь экран и масштабирую сцену то заказчик не доволен,
т.к. ему больше нравится когда монитор сам картинку растягивает(на ЭЛТ мониторах вообще другая песня).

т.е. мне хотябы приблизительно узнать каким образом из Qt программы MacOS'овские функции дергать.


Название: Re: Как собрать билд под MacOS
Отправлено: Авварон от Июль 26, 2010, 21:14
таким же как обычно. Делаете файл с раширением .m, цепляете нужный фреймворк и юзаете obj-C
Ну либо карбон, тогда в свойствах проекта добавляете -framework Carbon