Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: bibelwort от Декабрь 11, 2009, 21:56



Название: Сборка OpenVG
Отправлено: bibelwort от Декабрь 11, 2009, 21:56
Доброго времени суток всем!
У меня такой вопрос... Скачал с сайта Qt собранную версию Qt 4.6 для Windows для Visual Studio, но в эта сборка является стандартной, то есть без OpenVG, а я хотел бы ее пересобрать с поддержкой OpenVG. Как правильно запустить процесс сборки, чтобы...
Во-первых: пересобралось только то, что изменяется при включении OpenVG, а все остальное осталось без изменений и не пересобиралось
Во-вторых: удалить после сборки все лишние файлы автоматически, то есть оставить только собранные dll, а прочий мусор в виде make-файлов и *.db и т.п. выкинуть (после компиляции, особенно если компиляция средствами Visual Studio, папка с Qt сильно раздувается в объеме)

Таким образом, хотелось бы сделать сборку аля-официальная сборка Qt, но с поддержкой OpenVG, а это значит ничего лишнего и размер библиотеки всего 1 Gb

Заранее благодарю! ;)


Название: Re: Сборка OpenVG
Отправлено: niXman от Декабрь 11, 2009, 22:07
*** день сурка!
Модераторы, простите за оффтоп.


Название: Re: Сборка OpenVG
Отправлено: Dendy от Декабрь 11, 2009, 23:30
Не пересобирать всё не выйдет, если не хотите случайно пропустить какие-то зависимости. Но можете селать так. Сохраняете ранее сгенерированные файлы qconfig.h/qconfig.cpp ($qtdir/src/corelib/global) и прогоняете configure с включённым OpenVG. Если новые qconfig.h/qconfig.cpp остались такими же - значит разница в флагах сборки для некоторых конкретных подпроектов. Думаю достаточно будет просто зайти в $qtdir/gui и пересобрать только QtGui одной командой nmake.

Как минимум в qmake хардкодится путь к самой Qt, поэтому её нужно будет собрать по новой. Остальное думаю можно будет просто перебросить из другого дерева сборки. Хотя я бы таким не занимался. Гораздо проще распаковать Qt в чистую директорию, выбросить doc/examples/demos/translations/tools, прогнать configure с OpenVG и собрать по очереди: bootstrap, moc, rcc, uic, corelib, gui, ... и так далее. А в конце на главном Makefile'е выполнить nmake clean.


Название: Re: Сборка OpenVG
Отправлено: crackedmind от Декабрь 12, 2009, 07:23
Вообщем-то скачал это http://www.khronos.org/registry/vg/ri/openvg-1.1-ri.zip
Сборка упала на стадии линковки. Правда я собирал только сам плагин :) Без пересборки Qt

Добавлено
Цитировать
Как минимум в qmake хардкодится путь к самой Qt, поэтому её нужно будет собрать по новой. Остальное думаю можно будет просто перебросить из другого дерева сборки. Хотя я бы таким не занимался. Гораздо проще распаковать Qt в чистую директорию, выбросить doc/examples/demos/translations/tools, прогнать configure с OpenVG и собрать по очереди: bootstrap, moc, rcc, uic, corelib, gui, ... и так далее. А в конце на главном Makefile'е выполнить nmake clean.
Все делается проще :)
1) Открываем mkspecs\qtconfig.pri
2) добавляем в переменную QT_CONFIG параметры egl и openvg (собственно этим конфигуратор и занимается)
3) сохраняем
4) пересобираем QtGui, QtOpenGL
5) собираем 4.6.0\src\openvg\
6) Собираем плагин 4.6.0\src\plugins\graphicssystems\openvg\
7) PROFIT!!!


Название: Re: Сборка OpenVG
Отправлено: crackedmind от Декабрь 12, 2009, 09:19
Как оказалось не все так просто :) Надо еще пару мест допилить напильником.


1) Открыть mkspecs\win32-msvc2008\qmake.conf
WARNING: Это подходит только для той версии EGL/OpenVG SDK, ссылка на которую приведена в предыдущем посте
добавить такие строчки
Код:
QMAKE_LIBS_EGL        = libOpenVG.lib
QMAKE_LIBS_OPENVG     = libOpenVG.lib
2) Перейти в папку src\gui\egl
3) Добавить след. строчку в egl.pri
Код:
win32*: SOURCES += egl/qegl_wince.cpp
4) Пересобрать нужные библиотеки.

p.s. Скомпилироватся скомпилировалось. Только вот не работает :( Запустил ассистент с этой подсистемой. Жрет 100% CPU почти... И не реагирует

Может кто дальше доковыряет? :)


Название: Re: Сборка OpenVG
Отправлено: Dendy от Декабрь 12, 2009, 09:42
Может кто дальше доковыряет? :)

А толку...


Название: Сборка OpenVG
Отправлено: bibelwort от Декабрь 13, 2009, 01:17
Спасибо за ваши ответы! :)
Я попробую сделать, посмотрю, что получится... О результатах напишу здесь.


Название: Re: Сборка OpenVG
Отправлено: bibelwort от Декабрь 15, 2009, 12:16
У меня не получилось собрать Qt c поддержкой OpenVG :(

Вот, что я сделал:

1) Установил Qt 4.6.0 для Visual Studio 2008
2) Скачал OpenVG c сайта производителя (тот же, какой предлагали выше)
3) Прописал в файле qmake.conf для win32-msvc2008 переменные, которые в справке указаны (пути к OpenVG и EGL)
4) Сконфигурировал Qt c ключом -openvg
5) Начал сборку

В результате ошибка при компиляции файла qegl.cpp:

qegl.cpp
c:\soft\programming\4.6.0\include\qtgui\private\../../../src/gui/egl/qeglproperties_p.h(64) : fatal error C1083: Не удается открыть файл include: EGL/egl.h:
No such file or directory
qeglproperties.cpp
c:\soft\programming\4.6.0\src\gui\egl\qeglproperties_p.h(64) : fatal error C1083: Не удается открыть файл include: EGL/egl.h: No such file or directory

Отсюда вопрос: Что я сделал неправильно? Как правильно указать путь к OpenVG и EGL? При этом в скачанном мною OpenVG исходники и библиотеки только для OpenVG, а для EGL есть только файл egl.h, а самой библиотеки нет, поэтому не знаю точно какой путь писать...


Название: Re: Сборка OpenVG
Отправлено: crackedmind от Декабрь 16, 2009, 05:44
Дык, надо в переменные окружения LIB & INCLUDE нужные пути дописать :)


Название: Re: Сборка OpenVG
Отправлено: bibelwort от Декабрь 16, 2009, 18:03
Дык, надо в переменные окружения LIB & INCLUDE нужные пути дописать :)

Ок, сделаем....
А по поводу EGL, что можете сказать? Заголовочного файла egl.h будет достаточно, чтобы все собрать?


Название: Re: Сборка OpenVG
Отправлено: crackedmind от Декабрь 16, 2009, 18:47
Нет, OpenVG требуется не только egl.h, но и openvg.h :)


Название: Сборка OpenVG
Отправлено: bibelwort от Март 07, 2010, 19:54
Господа!
К сожалению у меня так и не получилось собрать Qt с OpenVG. Везде все на английском и до конца понять не могу... :(
Напишите пожалуйста последовательность действий, как собрать? Что скачать, что прописать и где, а после сборки как включить. К тому же непонятно, Qt автоматически будет использовать OpenVG в QGraphicsScene или нужно еще что-нибудь делать? QPainter явно не использую, только стандартные элементы Graphics System. Спасибо!