Название: Как собрать билд под 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 Можете, но это решение не кросс-платформенное. Mac имеет свою систему ресурсов, поддерживается файловой системой. Qt ее не использует, фолдер Resources не содержит тех ресурсов что Вы создали в Qt. Поэтому лучше делать однообразно (и кросс-платформенно) - класть ini файлы рядом c application там есть подраздел resource можно ли папку media поместить прямо в MyApplication.app сможет ли моя прока в таком случае ни только читать но и писать в ini-файлы находящиеся в MyApplication.app? Название: Re: Как собрать билд под MacOS Отправлено: baka от Июль 23, 2010, 05:09 Ясно спасибо большое,
у меня еще вопрос, я собрал с помощью macdeployqt, *.dmg файл каким образом я могу туда добавить папку с ресурсами ? моя программка сможет в эти ресурсы писать если они находятся в *.dmg? Название: Re: Как собрать билд под MacOS Отправлено: Igors от Июль 23, 2010, 12:03 я собрал с помощью macdeployqt, *.dmg файл Про macdeployqt ничего не знаю, пользуюсь стандартной Disk Utility для создания dmg, нет проблем включить любые файлы и фолдеры. Писать не сможет, 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 |