Данный FAQ предназначен для людей, имеющих хотя-бы минимальный опыт общения с консолью *nix. И хотя он заточен на cygwin, с минимальной адаптацией и прикладыванием головы должен подойти и для unix-систем. Что нам понадобится: 1. Cygwin 2. EZX CrossTool (в AllIn1.zip) 3. Header-файлы qte+модификации мои и donga (в AllIn1.zip) 4. dev-ezx для сборки moc.exe (в AllIn1.zip) 5. Tmake 6. Спека для TMake под нашу платформу (в AllIn1.zip) Порядок установки: 1. Устанавливаем Cygwin. Выбираем типичную установку. Внимание! Следующие пакеты необходимо отметить вручную: - gcc-core - gcc-g++ - byacc - diffutils - flex - make - patchutils - perl - wget 2. В среде cygwin-а создаем каталог "/opt/cross". 3. Распаковываем ezx-crosstool-0.5.tar.bz2 куда угодно. Подправляем файл build.sh, меняем строку Цитата RESULT_TOP=$CROSSTOOL_DIR/gcc-arm-iwmmxt на Цитата RESULT_TOP=/opt/cross/gcc-arm-iwmmxt Из cygwin-а запускаем build.sh. Наберитесь терпения и готовность выкачать из сетки порядка 76 Мб. После запуска скачивание и сборка проходят автоматически. Если во время работы произошла ошибка - см. пункт 1. Пока компилится crosstool можно перейти к шагам 4-6. 4. Распаковываем tmake-1.8.tar.gz в /opt/cross, переименовываем каталог tmake-1.8 в tmake. В каталог /opt/cross/tmake/lib распаковываем tmakespec-linux-ezx-g++.tar.gz 5. Распаковываем dev-ezx-0.2.0.tgz в любой каталог, идем в dev-ezx-0.2.0/moc и делаем make. Создаем каталог /opt/cross/dev-ezx и 3 подкаталога в нем: bin, lib, include. В первый кидаем собраный moc.exe из dev-ezx-0.2.0/moc, во второй копируем все файлы из каталога /usr/lib телефона. В третий - распаковываем содержимое dev-ezx-include.tgz либо см. внизу поста. 6. Открываем ваш ".bash_proflie" (который находится в домашнем каталоге - /home/username) и дописываем в конец файла: Цитата export ARM_DEV_DIR=/opt/cross/gcc-arm-iwmmxt/gcc-3.3.6-glibc-2.3.2/arm-linux export QTDIR=/opt/cross/dev-ezx export TMAKEPATH=/opt/cross/tmake/lib/linux-ezx-g++ export PATH=$PATH:/opt/cross/tmake/bin:/opt/cross/gcc-arm-iwmmxt/gcc-3.3.6-glibc-2.3.2/arm-linux/bin Когда crosstool соберется - окружение готово. Идем в каталог hellomoto (что в архиве) и выполняем в нем Код progen -o hellomoto.pro && tmake hellomoto.pro -o Makefile . Эта команда создаст Makefile для проекта. Теперь исполняем make и копируем бинарник на телефон, запускаем Код . /home/native/.profile ./hellomoto Запустилось? Поздравляю! При написании программ можно ориентироваться на QT 2.3 reference doc и копать заголовочные файлы. Кроме того можно подглядывать в библиотеки следующим образом: Код arm-linux-objdump -T --demangle libezxappbase.so и дополнять заголовочные файлы откопанными структурами. Очень надеюсь, что мой FAQ будет полезен (надеюсь, ничего не забыл.. ;) и в скором времени список нативных приложений существенно увеличится. Добавлено позже: Вместо include, описанного в п. 5 лучше использовать: include от qt-embedded-2.3.8 + патч. include/ezx. Взято отсюда: http://forum.motofan.ru/index.php?showtopic=127899
|