ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: Qt на Тион Про  (Прочитано 6801 раз)

0 Пользователей и 1 Гость просматривают эту тему.

scad

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 48
Qt на Тион Про
« : 04 Августа, 2009, 11:13:46 »

Здравствуйте

Потихоньку разбираюсь с Тионом и программированием графики под него.
Хотелось бы внести ясность в следующие вопросы.
1. Тион поддерживает только qt-2.3? Что значит аппаратная поддержка qt-2.3? В остальных версиях qt нет драйвера для тионовского фреймбуфера?
Почему тогда активно обсуждается использование qt 4, например здесь: http://www.zao-zeo.ru/forum/index.php?topic=77.0 Если можно использовать qt-4, есть ли где HOWTO как это делать.

2. Не могу использовать русский в приложениях для тиона. В тионе стоит сборка с opie с сайта zao-zeo. Собрал qt-2.3.10 embedded и qt-2.3.2-x11 на хост машину. При разработке указываю шрифт unifont-16, но после загрузки в тион русские символы не отображаются. qt fonts лежат /usr/qt/lib/fonts.

3. Изначально Opie работала с русским, потом после сбоя файловой системы (стояло ext2, уже переделал на jffs2) почему-то все стало на английском ??? где настраивается язык в opie?

заранее спасибо
Записан

scad

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 48
Re: Qt на Тион Про
« Ответ #1 : 05 Августа, 2009, 10:12:59 »

Ответ на вопрос №3:
в файле /Settings/locale.conf надо установить значение  ru_RU. Кроме того есть приложение для opie, которое позволяет это делать из GUI (его надо качать-собирать отдельно)
К вопросу №2:
Дело не в шрифтах, а весьма странной работе qt. Если в CPP файле сгенерированном uic заменить строки типа:
Button->setText( tr (QString::fromUtf8("Жми") ) );
на
Button->setText( QString::fromUtf8("Жми") );
все будет хорошо. tr я так понимаю транслятор - не понятно, то ли его надо устанавливать и для русского делать обязательно ts файл, то ли дело не в этом.
К вопросу №1:
http://groups.google.com/group/tion_sbc/browse_thread/thread/18d0eae1799e5eb0#
получается что люди как-то используют более свежие версии qt? У меня после сборки 3-йки пишет, что нет видеодрайвера для ep93xx и не запускается.
Записан

emc2

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 60
Re: Qt на Тион Про
« Ответ #2 : 05 Августа, 2009, 10:50:52 »

Неплохо работает QT4.5.2  Еще и LGPL последнее время и QT Creator впридачу. Для дисплея необходимо настроить переменные окружения ./etc/profile

export QTDIR=/usr/qtopia
export QWS_DISPLAY=linuxfb:/dev/fb0
export QWS_MOUSE_PROTO=Tslib:/dev/misc/ep93xx_ts
export QWS_SIZE=640x480

embedded-widgets-1.1.0 портируются без проблем, а вот c qwt-5.2.0 не все запускается (думаю процедура отрисовки другая)
Записан

scad

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 48
Re: Qt на Тион Про
« Ответ #3 : 05 Августа, 2009, 12:25:25 »

Цитировать
Неплохо работает QT4.5.2  Еще и LGPL последнее время и QT Creator впридачу.
Нужны ли какие-либо дополнительные патчи для qt? и QtCreator?
На сколько я понимаю для qt-2.3 сделаны специальные патчи от Cirrus, которые добавляют поддержку видеодрайвера.
Записан

emc2

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 60
Re: Qt на Тион Про
« Ответ #4 : 05 Августа, 2009, 13:20:31 »

Нет не нужны. При установке это все задается ключами ./configure. Например так:
./configure -prefix /usr/qtopia \
-hostprefix $HOME/work/qtopia \
-I/tftpboot/rootfs/include \
-L/tftpboot/rootfs/lib \
-qt-zlib \
-qt-libtiff \
-qt-libpng \
-no-libmng \
-qt-libjpeg \
-no-cups \
-pch \
-no-qdbus \
-embedded arm \
-armfpa \
-little-endian \
-qt-freetype \
-depths 8,16,24 \
-qt-gfx-linuxfb \
-no-gfx-multiscreen \
-qt-mouse-tslib \
-qt-kbd-usb \
-no-glib
Ссылку на мануал не могу найти, сохранено на диске.
Записан

nephrael

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 13
Re: Qt на Тион Про
« Ответ #5 : 07 Августа, 2009, 09:49:13 »

Здравствуйте , возникла проблема с PCH:

arm-linux-gcc -c -include .pch/release-shared-emb-arm/QtCore -pipe -I/media/disk-1/include -fno-exceptions -O2 -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE-D_LARGEFILE_SOURCE -I../../mkspecs/qws/linux-arm-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared-emb-arm -Iglobal -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I.moc/release-shared-emb-arm -I/media/disk/include -o .obj/release-shared-emb-arm/harfbuzz-gpos.o ../3rdparty/harfbuzz/src/harfbuzz-gpos.c
<command line>:1: sorry, unimplemented: had to relocate PCH
<command line>:1: confused by earlier errors, bailing out
make[1]: *** [.obj/release-shared-emb-arm/harfbuzz-gpos.o] Ошибка 1
make[1]: Выход из каталога `/home/nephrael/qt-embedded-linux-opensource-src-4.5.2/src/corelib'
make: *** [sub-corelib-make_default-ordered] Ошибка 2

Пользуюсь компилятором , транслятором и линковщиком версии 3.4 от Cirrus Logic
http://arm.cirrus.com/files/tools/arm-linux-gcc-3.4.3-1.0.1.tar.bz2 (тоже самое и на 4ом и на эльфе возникает)

Последовательность действий :
# echo $PATH
/usr/local/arm/3.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

./configure -prefix /home/nephrael/rootfs -hostprefix /home/nephrael/qtopia -I[b]/media/disk-1[/b]/include -L[b]/media/disk-1[/b]/lib -qt-zlib -qt-libtiff -qt-libpng -no-libmng -qt-libjpeg -no-cups -pch -no-qdbus -embedded arm -armfpa -little-endian -qt-freetype -depths 8,16,24 -qt-gfx-linuxfb -no-gfx-multiscreen -qt-kbd-usb -no-glib
make
arm-linux-gcc -c -include .pch/release-shared-emb-arm/QtCore -pipe -I/media/disk-1/include -fno-exceptions -O2 -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE-D_LARGEFILE_SOURCE -I../../mkspecs/qws/linux-arm-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared-emb-arm -Iglobal -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I.moc/release-shared-emb-arm -I/media/disk/include -o .obj/release-shared-emb-arm/harfbuzz-gpos.o ../3rdparty/harfbuzz/src/harfbuzz-gpos.c
<command line>:1: sorry, unimplemented: had to relocate PCH
<command line>:1: confused by earlier errors, bailing out
make[1]: *** [.obj/release-shared-emb-arm/harfbuzz-gpos.o] Ошибка 1
make[1]: Выход из каталога `/home/nephrael/qt-embedded-linux-opensource-src-4.5.2/src/corelib'
make: *** [sub-corelib-make_default-ordered] Ошибка 2
 [/core]

В чем может быть проблема?
Записан

nephrael

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 13
Re: Qt на Тион Про
« Ответ #6 : 07 Августа, 2009, 11:37:16 »

Проблема решена ,
как я понял это было из-за 3го gcc ,
использовал связку GCC4 и соседний топик все скомпилировалось и заработало , теперь проблема в запуске программы (ex. undo -qws не идет , пишет bus error)

но это думаю сейчас, покопаясь, исправлю

позже:
проблема с выводом "bus error" решается экспортом $OPIEDIR
« Последнее редактирование: 07 Августа, 2009, 12:28:37 от nephrael »
Записан