wiki:qt_angstrom
no way to compare when less than two revisions
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версияПоследняя версия | |||
— | wiki:qt_angstrom [2014/05/21 22:50] – [Компиляция tslib для ARM] maxx | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Компиляция Qt-приложения под Angstrom-linux (OpenEmbedded) ====== | ||
+ | //Еще один способ описан здесь: [[http:// | ||
+ | |||
+ | ===== Требуемые утилиты ===== | ||
+ | |||
+ | * архив qt-embedded-linux-opensource-src-4.4.3.tar.gz | ||
+ | * собранный Angstrom, а именно компиляторы: | ||
+ | arm-angstrom-linux-gnueabi-gcc, | ||
+ | |||
+ | ===== Qt 4.8.1 ===== | ||
+ | < | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | ===== Компиляция Qt под ARM-архитектуру ===== | ||
+ | 1. Добавим в переменные окружения путь к компилятору от Angstrom-linux: | ||
+ | < | ||
+ | |||
+ | Например: | ||
+ | < | ||
+ | |||
+ | 2. Распаковываем архив qt-everywhere-opensource-src-4.7.2.tar.gz и заходим в директорию | ||
+ | |||
+ | 3. Выполняем configure с необходимыми параметрами: | ||
+ | < | ||
+ | Также можно выбрать в каком виде будет собираться библиотека: | ||
+ | // | ||
+ | |||
+ | 4. Запускаем компиляцию, | ||
+ | < | ||
+ | |||
+ | 5. Устанавливаем собранную библиотеку в дерево Linux: | ||
+ | < | ||
+ | |||
+ | и теперь должна появиться директория / | ||
+ | |||
+ | ===== Компиляция приложений Qt под ARM Angstrom-linux ===== | ||
+ | |||
+ | // | ||
+ | |||
+ | 1. Создаем Makefile | ||
+ | < | ||
+ | |||
+ | 2. Если в переменных окружения не прописан путь к компилятору от Angstrom-linux (arm-angstrom-linux-gnueabi-gcc, | ||
+ | |||
+ | < | ||
+ | |||
+ | 3. Запускаем компиляцию: | ||
+ | < | ||
+ | |||
+ | ===== Запуск Qt-приложения под Angstrom-linux ===== | ||
+ | |||
+ | 1. В работающем Angstrom-linux необходимо установить библиотеку для поддержки C++: | ||
+ | < | ||
+ | // | ||
+ | |||
+ | 2. Скопировать в папку с вашей программой so-библиотеки Qt из папки: | ||
+ | < | ||
+ | |||
+ | Например, | ||
+ | |||
+ | libQtCore.so.4 | ||
+ | libQtGui.so.4 | ||
+ | libQtNetwork.so.4 | ||
+ | |||
+ | 3. Создать директорию для шрифтов на целевой платформе с тем же именем, | ||
+ | < | ||
+ | |||
+ | 4. Скопировать в новую директорию шрифты, | ||
+ | |||
+ | 5. Запустить программу на целевой платформе | ||
+ | < | ||
+ | |||
+ | ===== Удаление курсора мыши из Qt-приложения ===== | ||
+ | Чтобы убрать курсор мыши (например, | ||
+ | |||
+ | Также можно при компиляции библиотеки указать переменную " | ||
+ | ===== Сжатие исполняемого файла приложения QT для уменьшения размера ===== | ||
+ | При создании исполняемого файла со статической линковкой библиотек, | ||
+ | |||
+ | Мы решили эту проблему с помощью утилиты uclx, сжимающей исполняемые файлы для ARM архитектуры. Исходный код утилиты создан Cecchinel Stephan в 2003г, который мы обновили до современных архитектур. | ||
+ | |||
+ | // | ||
+ | |||
+ | Для компиляции утилиты потребуется: | ||
+ | 1) Компилятор для архитектуры ARM, например CodeSourcery arm-2008q1 arm-none-linux-gnueabi\\ | ||
+ | 2) Библиотека ucl-1.03\\ | ||
+ | Библиотеку скачивают отсюда: | ||
+ | 3) Исходники uclx скачивают отсюда: | ||
+ | |||
+ | Процедура сборки утилиты: | ||
+ | 1) Прописываем путь к компилятору ARM:\\ | ||
+ | < | ||
+ | 2) Распаковываем библиотеку ucl-1.03 и конфигурируем её:\\ | ||
+ | < | ||
+ | make && make install</ | ||
+ | 3) Распаковываем исходники uclx и настраиваем Makefile:\\ | ||
+ | Устанавливаем переменную CFLAGS, чтобы флаг -I указывал на prefix, что был использован для библиотеки ucl-1.03. То же самое делают для переменной LIBS.\\ | ||
+ | Далее выполняют команду make и, если всё настроено верно, то вы получаете исполняемый файл утилиты uclx, который необходимо запускать на конечной платформе ARM. Время работы утилиты сильно зависит от скорости процессора и памяти. | ||
+ | |||
+ | ===== Компрессор для исполняемых файлов ===== | ||
+ | Еще один хорошо развивающийся компрессор для исполняемых файлов: | ||
+ | |||
+ | ===== Компиляция tslib для ARM ===== | ||
+ | |||
+ | Для компиляции библиотеки потребуются пакеты **libtool** и **autoconf**. | ||
+ | |||
+ | 1) Скачиваем саму библиотеку tslib | ||
+ | < | ||
+ | git clone git:// | ||
+ | </ | ||
+ | Компиляция | ||
+ | < | ||
+ | cd tslib | ||
+ | ./ | ||
+ | export CC=/ | ||
+ | export CXX=/ | ||
+ | ./configure --build=i386-linux --host=arm-linux-gnueabihf --target=arm --prefix=$PWD/ | ||
+ | make -j2 | ||
+ | make install | ||
+ | </ | ||
+ | Обратите внимание, | ||
+ | < | ||
+ | tslib$ ls build/ | ||
+ | bin etc include | ||
+ | </ |
wiki/qt_angstrom.txt · Последнее изменение: 2014/05/21 22:51 — maxx