Статейка о том, как я укрощал этого зверя.Для начала вам нужен живой линух на миньке и на ПС.
После долгих мучений с компиляцией tslib(либа для тач скрина) для Qt под мини, с подачи serg_io (за что ему отдельное спасибо) я наткнулся на
buildrootВообще-то это мегофича для компиляции всего линуха со всеми его потрохами, но на момент его использования в нем не было поддержки мини, да и зачем мне компилитьто, что у меня уже итак есть, поэтому от него нам нужно лишь скомпилированные либы Qt и tslib.
Распакомываем билдрут в отдельную папку заходим в нее и запускаем
make menuconfigВылезает окошко, как при компиляции ядра, в нем в пункте графиичских фич и утилит находим наше Qt и настраиваем его под себя. Подключаем/отключаем разные модули вроде поддержки разных граф. форматов, обязательно рекомендуется включить поддержку freetype2 шрифтов (Да будет русский язык в наших приложениях!
) и т.д.
Да, tslib тоже желательно включить (в настройках линуха):)
Не забываем указать ваш тулчейн для компиляции.
Я надеюсь его то вы уж точно установили
Сохраняем конфиг или копируем мой и делаем make.
(Если будете использовать мой файл конфига - замените в нем путь к вашему мини-компилятору)
Цитата:
BR2_TOOLCHAIN_EXTERNAL_PATH="/usr/local/arm/4.3.2"
BR2_TOOLCHAIN_EXTERNAL_PREFIX="arm-none-linux-gnueabi"
После чего билдрут создаст у себя папку dl в которую начнет скачавать из нета необходимые паки сорцов для компиляции всех указанных вами фич, включая tslib и Qt. (Осторожно, трафик!!!
)
Небольшое отступление: если ничего не трогать то скомпиленная либа тач скрина будет выдавать одну не критическую, но ооочень мешающую (особенно в случаях дебага через консоль) вещь: При любом прикосновении к экрану, в консоли будет появляется куча сообщений "tslib: Unknown event type 0". На работоспособности это не сказывается, но не приятно, когда из-за этого ты не можешь прочитать то, что выдали твои принтэфы по ходу программы. Это лечится. Описанно
здесь, достаточно лишь применить
данный патч.
Чтобы билдрут понял что мы хотим пропатчить, топаем в папку dl, находим архив с сорцами тслиба, распаковываем, патчим и пакуем обратно, после чего говорим билдруту скомпилировать все заново.
Однако если положить пак в созданную папку dl до первой компиляции думаю можно будет обойтись одной.
Билдрут, которым я пользовался, пропатченый тслиб и мой файл конфига для билдрута выложил
здесь.
Возвращаемся к нашим баранам библиотекам. после компиляции (на моей вирт машине с 2мя выделеными процами и 1Гб оперативы сие действо заняло около 20 минут, не считая времени на скачивания около 200Мб сорцов) нам нужно то, что лежит в папке output.
В ./output/images/ лежат два архива с образами скомпиленных rootfs. Заходим в любой. Нам нужны папки ./usr/lib c либами Qt и tslib и ./usr/plugins с плагинами для Qt
Копируем все это добро к себе на миньку.
И не спешите удалять папку билдрута!!! Она вам еще пригодится!
Далее настраиваем переменные окружения в самой мини
Цитата:
export set TSLIB_TSDEVICE=/dev/event0
export set TSLIB_CALIBFILE=/etc/pointercal - файл калибровки тача
export set TSLIB_CONFFILE=/etc/ts.conf - настройки тача
export set TSLIB_PLUGINDIR=/opt/qt-4.6/lib/ts - путь к нашим либам тача
export set QTDIR=/opt/qt-4.6 - путь к Qt
export set QPEDIR=/opt/qt-4.6
export set QWS_DISPLAY="LinuxFB:/dev/fb0"
export set QWS_DISPLAY="LinuxFB:mmWidth130:mmHeight100:0"
export set QWS_KEYBOARD="TTY:/dev/tty1"
export set QWS_MOUSE_PROTO="TSLIB:/dev/event0"
export set QT_PLUGIN_PATH=$QTDIR/lib/plugins/ - путь к нашей папке плагинов
export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/ - путь к фонтам
export set PATH=$QPEDIR/bin:$QPEDIR/lib:$PATH - no comments )
export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib/plugins/imageformats:$LD_LIBRARY_PATH - no comments )
А еще есть
замечательный хелп от разрабов.
Теперь возвращаемся к ПС.Качаем с офф сайта Qt [quote=http://qt.nokia.com/downloads/qt-creator-binary-for-linux-x11-32-bit]IDE[/quote] в котором мы будем творить
Запускаем, сразу лезем в Инструменты->Параметры->Qt
Вы ще не удалили папку билдрута?
В настройках профиля жмакаем плюсик и вводим путь до нашего "SDK", а именно до файла qmake
/output/build/qt-everywhere-opensource-src-4.6.2/bin/qmake
Далее жмем "пересобрать" И с трепетом ждем когда красный крестик сменится на зеленую галочку)
Ура! Мы сделали это! Теперь можно жать Ок и топать в создание проекта)
Выбираем Проекты Qt C++ -> GUI проект, далее указываем созданый нами профиль и вуаля
Что делать дальше, думаю вы разберетесь)
Итак. Вы накидали на формочку кнопочек и других финтифлюшек, или сделали что-то более серьезное и скомпилировали программу. Что дальше делать?
Копируем её на мини, в консоли заходим в папку с программой и набираем ./имя_программы -qws
Флаг -qws...
А вообще-то... за подробностями сюда
Running Qt for Embedded Linux ApplicationsFonts in Qt/EmbeddedThe VNC Protocol and Qt for Embedded LinuxПро ускорение Qt здесь:
Adding an Accelerated Graphics Driver to Qt for Embedded Linux Ну и еще на куче разных форумов на просторах всемирной паутины...
Если кто решится написать статью по ускорению - будет хорошо
Готов выслушать все пожелания, замечани и предложения
PS Готовая настроенная rootfs лежит
здесь