crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Выпущен Qt Declarative для Qt 4.6.0
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
vfilatov Дата 11.2.2011, 15:08
  Ни у кого не завалялся qt-4.6.0-declarative.zip?
Ссылка на сайте Нокии битая...
kipter Дата 15.12.2009, 4:33
  У меня и моих коллег по работе также возникли проблемы с сборкой для msvc2008, если собирать по инструкции то сборка то пройдет успешно, но программы (ваши программы) использующие qml в том числе утилита [qmlviewer] могут через раз падать в рантайме, причем на некоторых запусках все ок, на некоторых падение. И именно из-за библиотек.



Сборка по следующей инструкции проявила полную стабильность:
1) распаковываете qt-4.6.0-declarative.zip

2) содержимое (папки include, src, tools обязательно, остальное по желанию) копируете в вашу директорию Qt, замены каких либо файлов по идее быть не должно, у меня папки сели без запросов на замену файлов.

3) У вас должна быть "переменная окружения" с путем к библиотеке на которую вы ставите declarative.
у меня она называется %QTVA% и имеет путь X:\Qt\WinPC-4.6.0-Shared

4) запускаете Visual Studio 2008 Command Prompt и
переходите в папку: cd %QTVA%\src\declarative

5) выполняем следующее:
qmake -spec %QTVA%\mkspecs\win32-msvc2008 -tp vc "declarative.pro" -o "declarative.vcproj" QMAKE_INCDIR_QT=%QTVA%\include QMAKE_LIBDIR_QT= QMAKE_LIBDIR=%QTVA%\lib QMAKE_UIC=%QTVA%\bin\uic.exe QMAKE_MOC=%QTVA%\bin\moc.exe QMAKE_RCC=%QTVA%\bin\rcc.exe QMAKE_QMAKE=%QTVA%\bin\qmake.exe

6) в папке %QTVA%\src\declarative появиться файл declarative.vcproj запускаете его и уже в студии делаете пакетную сборку (Build->Batch Build-> [ClackClack checkbox] -> Build) Дебаг и Релиз версии
DLLки будут копирнуты в bin, а вот в lib автоматом ничего не попадет =(

7) заходим в папку: cd %QTVA%\src\declarative\.obj и копируем файлы:
QtDeclarative4.lib, QtDeclaratived4.lib, QtDeclarative.prl, QtDeclaratived.prl
в
%QTVA%\lib

8) Делаем копии QtDeclarative4.lib, QtDeclaratived4.lib, и называем их QtDeclarative.lib, QtDeclaratived.lib
это понадобиться для сборки утилиты у который прописаны именно эти имена lib файлов

ВСЕ на этом ваш QML готов к работе, осталось собрать утилиту.


Для сборки утилиты просмотра qml файлов:
1) cd %QTVA% \tools\qmlviewer

2) qmake -spec %QTVA%\mkspecs\win32-msvc2008 -tp vc "qmlviewer.pro" -o "qmlviewer.vcproj" QMAKE_INCDIR_QT=%QTVA%\include QMAKE_LIBDIR_QT= QMAKE_LIBDIR=%QTVA%\lib QMAKE_UIC=%QTVA%\bin\uic.exe QMAKE_MOC=%QTVA%\bin\moc.exe QMAKE_RCC=%QTVA%\bin\rcc.exe QMAKE_QMAKE=%QTVA%\bin\qmake.exe

3) Запускаем qmlviewer.vcproj, деламем пакетную сборку релиз версии и наслаждаемся =)
(Build->Batch Build-> [Clack Release checkbox] -> Build)
утилита будет в папке bin

P.S вы можете установить QtCreator-pulse-qml в его папке bin утилита, не знаю работает ли она лучше но темнеменее.
Впрочем в некоторых демо и экзамплах я замечал зависания и последующий вылет, и немного не понятна причина... может быть она в утилите, может быть в QML/JS коде, а может даже этот модуль библиотеки сыроват =)

SABROG Дата 14.12.2009, 23:24
  Метод установки для MinGW (в README о нем ничего):

Распаковываем архив с исходниками QtDeclarative в любое место.
Запускаем консоль с подготовленным окружением и затем заходим в папку с распакованными исходниками, находим файл declarative.pro и редактируем его в текстовом редакторе, добавляем в конец файла следующую строчку:

*-g++*: CONFIG += create_prl
Если этого не сделать, то не будут сгенерены .prl файлы и будет невозможным собрать утилиту qmlviewer или вообще любую другую программу, которая будет использовать QtDeclarative модуль.

после чего заходим в подпапку src/declarative :
cd src\declarative

Формируем Makefile'ы:
qmake

Собираем:
mingw32-make all
Вместо all можно собирать declarative 2 раза, по умолчанию он собирается в debug сборке, если указать mingw32-make release, то еще и в релизе.

Устанавливаем QtDeclarative в исходники Qt.
mingw32-make install

Директивой install ставится только debug версия поэтому, чтобы установить еще и release версии .dll'ок надо скопировать следующие файлы вручную:
qt-4.6.0-declarative\src\declarative\.obj\QtDeclarative4.dll -> qt-everywhere-opensource-src-4.6.0\bin\
qt-4.6.0-declarative\src\declarative\.obj\libQtDeclarative4.a -> qt-everywhere-opensource-src-4.6.0\lib\
qt-4.6.0-declarative\src\declarative\.obj\QtDeclarative.prl -> qt-everywhere-opensource-src-4.6.0\lib\
qt-4.6.0-declarative\src\declarative\.obj\QtDeclaratived.prl -> qt-everywhere-opensource-src-4.6.0\lib\

Затем копируем хедеры QtDeclarative в папку с исходниками Qt:
xcopy /E /Y ..\..\include\QtDeclarative %QTDIR%\include\QtDeclarative


Собираем qmlviewer:
cd ..\..\tools\qmlviewer
qmake
mingw32-make release


Далее возвращаемся на 2 директории назад, ищем папку bin и копируем утилиту:
qt-4.6.0-declarative\bin\qmlviewer.exe -> qt-everywhere-opensource-src-4.6.0\bin\

Затем можно запустить утилиту, зайти, скажем, в папку qt-4.6.0-declarative/demos/declarative/calculator и выбрать calculator.qml. Лично я при выходе из утилиты qmlviewer получил краш.

Затем попробуем собрать демку minehunt, в ней используется и C++ тоже:
cd /demos/declarative/minehunt
qmake
mingw32-make release
release\minehunt.exe


Запускается, работает и даже не упала.

К сожалению мне так и не удалось заставить работать QtDeclarative в связке с QtCreator'ом. А именно запускать на выполнение .qml проекты, всегда получаю:
Starting ...
The process could not be started!


Я не знаю какой процесс он пытается запустить и что ему для этого нужно. Вижу, что в исходниках QtDeclarative многое подготовлено для внедрения в Qt, вроде бы есть генератор документации, но это всего лишь .pri файл, который нигде не используется, вроде бы есть qml дебаггер как плагин к QtCreator'у.

К сожалению, после мучений со сборкой у меня отпало всякое желание разбираться с QML до тех пор, пока его официально не внедрят в следующую версию Qt, пока он не начнет собираться без проблем наряду с другими модулями Qt.
Litkevich Yuriy Дата 14.12.2009, 19:55
 
Цитата(kipter @ 14.12.2009, 21:19) *
Как не крутись двигаемся к тому чтобы писать прикладной софт на интерпретируемых разметках и языках программирования.
я думаю это движение началось сначала с перехода от HEX-программаирования на асемблер, и далее к разделению труда - Разработчик_Библиотек/Разработчик_прикладного_ПО
ViGOur Дата 14.12.2009, 18:38
  Я например вижу в этом только плюсы, так как программист не будет заниматься рюшечками и прочей ерундой, а будет делать ядро приложения, не отвлекаясь. А вот рюшечками и прочим смогут занимать уже другие люди. Того же HTML верстальщика посадил, немного переучил и все путем. :)
ufna Дата 14.12.2009, 18:29
  имхо, а я только рад такому. Точнее не то чтобы рад.. но если это делает возможность сделать проще да еще с дополнительными возможностями - я только за. Суть ведь в том, чтобы сделать конечный продукт, а сипипи.. привычное, стабильное, но.. все-таки не панацея.
kipter Дата 14.12.2009, 18:19
  что теперь получается C# + XAML == QML + JavaScript =)

Сперва обрадовался... О думаю крута можно будет дизайнерам описывать красивые скины софтинке.
Подумал что этот QML будет либо генерировать код, ну или ладно интерпретироваться но чисто только чтобы задавать структуру приложения, без логики.
Потом порыл глубже (скачал, посмотрел экзамплы и демо) и расстроился....

Черт возьми этож теперь на С++ останется выполнение только узких тривиальных задач =(
Будем писать классы указывая для них атрибуты чтобы наш класс хватался ЯваСкрипт машиной и этим QML

Если сейчас у нас чаще всего интерфейс занимает половину ну или приличную часть С++ кода... то теоретически QML + JavaScript будет способен убрать вообще весь GUI C++ код.
Разве что если только нам понадобиться создавать новые типы виджетов или что то отрисовывать, тогда прийдеться прибегнуть к С++

А вот почему расстроился...

Сейчас дизайнер (если он вообще есть в фирме в которой вы работаете) рисует в фотопопе слоеный макет с интерфейсом, который режеться на картиночки, элементы и т д. Дизайнер рисует в десинджере структуру либо я описываю ее кодом, либо и то и другое, в зависимости от задачи. Даю имена классов, объектов дизайнеру и он пишет CSSку, где прикручиваются картинки и т д.
Но я задаю правила! Потому что мне потом все это отлаживать, с этим работать, и управлять. И моя работа куда больше выглядит чем работа дизайнера, за что я и получаю.

С этим QML, дизайнер сам вполне без меня сможет описать и интерфейс и взаимодействие с ним (JavaScript) и даже немалую часть бизнес логики приложения! и он уже будет задавать правила: Типа мне вот нужно чтобы вот сюда приходило то то а вот сюда то то иди пиши класс. А мне только штамповать классы с атрибутами которые ему нужны.
В случае если дизайнера в конторе нет, то прийдеться самим работать с этим языком разметки и javaScript от которого если честно меня со времен веб кодинга уже тошнит =(

Может получиться так что дизайнеры станут более оплачиваемыми, Qt кодеры менее оплачиваемыми, либо на разработку интерфейса могут нанимать дополнительное студенческое лицо которое быстренько схавает этот QML + JS. Собственно опасность зарплата--;

С другой стороны Рантайм ошибок убивающих софтинку станет меньше, ошибка исполнения JavaScript более контролируема и поправима. Опять же переходим к управляемому коду.
Как не крутись двигаемся к тому чтобы писать прикладной софт на интерпретируемых разметках и языках программирования.

Но конечно не хочется чтобы в скором будущем 30% кода был бы QML, 50% JavaScript и 20% C++
ViGOur Дата 14.12.2009, 18:18
  Нужно будет попробовать этот QML, на первый взгляд идея хороша...
Litkevich Yuriy Дата 14.12.2009, 16:18
  Новость в лаборатории http://labs.trolltech.com/blogs/2009/12/14...t-460-released/
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 15:38