Вверх ↑
Этот топик читают: Гость
Главный модератор
Ответов: 2999
Рейтинг: 396
#16: 2008-04-10 22:49:07 ЛС | профиль | цитата
Dilma писал(а):
...каким образом исходник QT собирается под MacOS?


Смотреть прикреплённый файл [url=http://dev.hiasm.com/xf/attach/files/saved terminal output.rar]saved terminal output.rar[/url]

Dilma писал(а):
...какие пакеты ставить и откуда их брать?


Штатно под MacOSX идёт пакет XCode (уже про это писал на форуме). В его составе есть GCC компилятор 3-й и 4-й версий.
Qt4 взял по ссылке с форума.

Download from ftp.trolltech.com:

[url]http://www.trolltech.com/download?target=ftp://ftp.trolltech.com/qt/source/qt-mac-opensource-4.3.4.dmg[/url] (dmg, about 67 Mb)

[url]http://www.trolltech.com/download?target=ftp://ftp.trolltech.com/qt/source/qt-mac-opensource-4.3.4-debug-libs.dmg[/url] (dmg containing ONLY the debug libraries, only usable with dmg above installed, about 208 Mb)

[url]http://www.trolltech.com/download?target=ftp://ftp.trolltech.com/qt/source/qt-mac-opensource-src-4.3.4.tar.gz[/url] (source code only, about 40 Mb)

Как разработчики и обещают, если ставить Qt4 из бинарника - никаких настроек делать не надо. Пакет Qt4 сразу готов к применению.
Чего не скажешь про бинарник для Windows:

[url]http://www.trolltech.com/download?target=ftp://ftp.trolltech.com/qt/source/qt-win-opensource-4.3.4-mingw.exe[/url]

проблемы с путями к программам самого Qt и компилятора MinGW.

Dilma писал(а):
...работает ли задание стилей у визуальных элементов на MacOS?



карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Администрация
Ответов: 15295
Рейтинг: 1519
#17: 2008-04-10 23:59:20 ЛС | профиль | цитата
Вот это:

qmake -project -o q4_test.pro
сейчас делает сам HiAsm

вот тут:

qmake -spec macx-g++
хотелось бы узнать зачем явно указывается компилятор? qmake для MacOS сам определить не в состояние?

в целом же процесс сборки не отличается от Linux и впринципе если под MacOS есть что-то вроде Wine, то в перспективе возможно будет для этих операционок сделать полноценную поддержку по сборки приложений QT по нажатию одной единственной кнопки.

Nic писал(а):
Чего не скажешь про бинарник для Windows:

дополнение: после установки QT по указанной выше ссылки нужно в терминале выполнить команду:

path %PATH%;<QT directory>;<mingw directory>
например:

path %PATH%;E:lengMinGWin;E:lengQTin
тогда проблем с запуском приложений пакета QT не будет.
карма: 27
0
Главный модератор
Ответов: 2999
Рейтинг: 396
#18: 2008-04-11 00:11:50 ЛС | профиль | цитата
Dilma писал(а):
хотелось бы узнать зачем явно указывается компилятор


Да, сам определяет, конечно, но по-умолчанию создаёт проект пакета XCode для компиляции через его IDE. Мне пока не удалось проделать этот с виду простой путь к исполняемому коду.

Dilma писал(а):
впринципе если под MacOS есть что-то вроде Wine


Под PowerPC процессором есть VirtualPC. Для Mac Intel есть более продвинутая программа Parallels Desktop for Mac http://www.parallels.com
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Администрация
Ответов: 15295
Рейтинг: 1519
#19: 2008-04-11 00:30:34 ЛС | профиль | цитата
Виртуальная машина это немного не тоже самое, что эмулятор API операционной системы... В такой связки запуск(и сборка) MacOS приложения из под среды HiAsm не возможен.

еще один пример на использование стилей

кроме того из скриншота видно, что QT отлично работает с "прозрачными" контролами
------------ Дoбавленo:


Add(ListBox,2791352,182,42)
{
Left=70
Top=95
Width=135
Height=185
StyleSheet="border: 2px solid #8f8f91; border-radius: 10px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde);"
}
Add(EntryPoint,9243762,21,105)
{
Width=269
Height=335
}
Add(Edit,13382205,168,98)
{
Left=35
Top=130
Width=65
ToolTip="afdsf"
StyleSheet=" border: 2px solid gray; border-radius: 10px; padding: 0 8px; background: yellow; selection-background-color: darkgray;"
}
Add(Button,15320807,63,42)
{
Left=45
Top=195
StyleSheet="border: 2px solid #8f8f91; border-radius: 6px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); min-width: 80px;
"
link(onClick,14171269:doData,[])
}
Add(DoData,14171269,119,42)
{
Data=String(ttttertretertretert)
link(onEventData,2791352:doAdd,[])
}
Add(Label,10723208,217,63)
{
Left=190
Top=125
Width=35
}
Add(RadioButton,1124376,224,105)
{
Left=140
Top=215
Width=100
StyleSheet="border: 2px solid #8f8f91; border-radius: 10px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde);"
}
Add(Label,11195694,63,98)
{
Left=40
Top=15
Width=194
Height=27
StyleSheet="border: 2px dotted #8f8f91; border-radius: 12px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde); font-weight: bold; font-size: 14px;"
Caption=" QT Style Sheet Demo "
}
карма: 27
0
файлы: 1styles_demo.png [27.3KB] [468]
Главный модератор
Ответов: 2999
Рейтинг: 396
#20: 2008-04-11 12:10:47 ЛС | профиль | цитата
Dilma писал(а):
...еще один пример на использование стилей


------------ Дoбавленo:

Dilma писал(а):
В такой связки запуск(и сборка) MacOS приложения из под среды HiAsm не возможен.


Согласен с невозможностью запуска, но не уверен со сборкой. Как мне показалось MinGW - кроссплатформенный компилятор.
Содержимое папки mkspecs - обнадёживает. Среди его (содержимого папки) многообразия есть и такое:



Кстати, примером такого подхода служит пакет REALbasic http://www.realsoftware.com/. С его помощью мне приходится иногда компилировать программы для Windows на Mac и наоборот. Конечно есть платформозависимые коды, но они это решили директивами условной трансляции в коде.

------------ Дoбавленo:

Попытался компилировать под XP для MacOSX - неудача. Видимо, хоть он и содержит необходимые файлы, но это для работы под нативной платформой.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
файлы: 2stylesmacosx.png [16.5KB] [500], mkspecs_4_mac.jpg [11.8KB] [433]
Ответов: 5446
Рейтинг: 323
#21: 2008-04-11 18:16:45 ЛС | профиль | цитата
Dilma, по поводу QString::number - есть подозрение, что из-за этого и выводятся крякозябры в директиве #include.

Насчёт стилей в WX - их нет, но (на мой взгляд) это не главное.
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#22: 2008-04-11 18:40:18 ЛС | профиль | цитата
iarspider писал(а):
сть подозрение, что из-за этого и выводятся крякозябры в директиве #include

они выдаются потому, что данный параметр(PARAM_PROJECT_NAME) возвращается только в самой последней версии HiAsm.exe

iarspider писал(а):
Насчёт стилей в WX - их нет, но (на мой взгляд) это не главное.

конечно. Тем более с учетом того, какие ресурсы на это уходят. Но тем не менее для потенциального пользователя это одно из преимуществ.
карма: 27
0
Главный модератор
Ответов: 2999
Рейтинг: 396
#23: 2008-04-12 14:03:54 ЛС | профиль | цитата
разобрался - забыл прописать компилятор MinGW
------------ Дoбавленo:

Dilma, хотелось бы уточнить настройку MinGW компилятора. Как правильно его подключить?
Посмотри MinGW.his

и приходится чистить папку ..qtcode если компилируешь разные схемы одна за другой.
Посмотри make_exe.dpr
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
файлы: 2mingw.his.rar [220B] [335], make_exe.dpr.rar [1.2KB] [361]
Администрация
Ответов: 15295
Рейтинг: 1519
#24: 2008-04-13 17:07:43 ЛС | профиль | цитата
я для компилятора по адресу %MinGW_Dir%inmingw32-make.exe опрнднляю такую строку

-C %upath%
т.е. сборщику указывается только директория проекта.

Nic писал(а):
и приходится чистить папку ..qtcode если компилируешь разные схемы одна за другой.

да именно так. Но решать это надо через менеджер ресурсов, а не ручной чисткой. Иначе по Ctrl+D не будут доступны все исходники проектов...
карма: 27
0
Ответов: 5446
Рейтинг: 323
#25: 2008-04-14 18:06:06 ЛС | профиль | цитата
Dilma, насчёт стилей - wxWidgets поддерживают стили частично, а именно:
1. Поддержка прозрачности (0..255)
2. Поддержка "регионов" (окна нестандартной формы).

Но регионы надо создавать в runtime, текстом (как в QT) нельзя.
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#26: 2008-04-14 18:16:31 ЛС | профиль | цитата
iarspider, Opacity и Region это фишки OS и пакет может только их поддержать или нет. Стили же в QT это фишка которая полностью реализована в его(пакета) ядре и поэтому портируется с одинаковым успехом на все платформы и гарантирует одинаковое отображение и функционирование на каждой из них. Поскольку в wx такого нет и все GUI элементы строятся на сервесе ОС, то(судя по форумам) с разными контролами в разных местах и на разных ОС имеются свои глюки и особенности работы.

Так же пробегая названия классов наткнулся на весьма продвинутую систему скриптования с использованием собственного встроенного языка(что-то вроде JavaScript). Что тоже является не малым плюсом.
карма: 27
0
Ответов: 5446
Рейтинг: 323
#27: 2008-04-15 18:40:44 ЛС | профиль | цитата
Dilma, ладно, проехали.

"Ядро" пакета для wxWidgets готово, теперь проверяю примеры. При проверке примера "EnumArray" получил следующий неприятный прикол в кодах:

code_8848.txt

Методом пристального рассматривания понял, что это --- фокусы элемента Math: св-во ResultType декларирует res3 как Int, а вот кодогенератору говорит, что это --- float (видимо, за счёт того, что нижняя точка Result имеет 7й тип). Есть ли надежда на исправление этой проблемы?
------------ Дoбавленo:

Ещё раз посмотрел hiMath, вроде получается так: нижняя точка Result имеет тип 7 (float), поэтому typed(...) ставит результату тип 7.
карма: 1

0
файлы: 1code_8848.txt [145B] [357]
Главный модератор
Ответов: 2999
Рейтинг: 396
#28: 2008-04-16 10:01:14 ЛС | профиль | цитата
Dilma писал(а):
Иначе по Ctrl+D не будут доступны все исходники проектов...


Возможно, если только будут ошибки компиляции. Если пользователь запустил компилировать схему, то можно считать, что ему "старые" исходники более без надобности. Вот в этот момент можно что-то почистить чтобы этого не делать руками. Мне удалось избавиться от необходимости каждый раз после новой схемы чистить папку code.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Администрация
Ответов: 15295
Рейтинг: 1519
#29: 2008-04-16 15:30:27 ЛС | профиль | цитата
iarspider писал(а):
получил следующий неприятный прикол в кодах

исправлено

Nic писал(а):
Мне удалось избавиться от необходимости каждый раз после новой схемы чистить папку code.

эта проблема уже решена
карма: 27
0
Ответов: 5446
Рейтинг: 323
#30: 2008-04-16 17:44:11 ЛС | профиль | цитата
Dilma писал(а):
Исправлено
??? Всё равно такой же код!

Hiasm 168 + hiUpdate, SVN rev 922.
Кодогенератор пересобран. В direct.inc прописано:

#pas
function _toCode(data:PScData; toType:byte):PScData;
begin
(*cut cut cut cut *)
data_str:
case data.getSubType of
data_int:
begin
Result := MakeData('wxString::Format("%d", ', true);
Result.AddValue(data, true);
Result.AddValue(MakeData(')', true), true);
end;
data_real:
begin
Result := MakeData('wxString::Format("%f", ', true);
Result.AddValue(data, true);
Result.AddValue(MakeData(')', true), true);
end;
end;

В результирующем файле -

#cpp
int res3;
/************ cut *************/
res3 = (int)((res3 + 1));
listbox1->Append("item-" + wxString::Format("%f", res3));
карма: 1

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)