Поскольку в интернете полного и рабочего описания решения проблемы не нашлось, решил составить свой вариант.
Задача: собрать библиотеки QT 5.4 с поддержкой OpenGL ES2 под архитектуру ARM (целевая плата conga-QMX6 на базе процессора Freescale i.MX6 ARM Cortex A9).
1) Прежде всего потребуется рабочий LTIB, ссылка на инструкцию по его установке на Ubuntu 14.04
2) Загружаем исходный код QT 5.4 с официального сайта QT (http://download.qt.io/official_releases/qt/5.4/5.4.1/single/qt-everywhere-opensource-src-5.4.1.zip)
3) Распаковываем загруженный файл в любую директорию, например в домашнюю папку.
4) Редактируем файл конфигурации платформы qmake.conf расположенный в qtbase/mkspecs/devices/linux-imx6-g++/ :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
include(../common/linux_device_pre.conf) EGLFS_PLATFORM_HOOKS_SOURCES = $$PWD/qeglfshooks_imx6.cpp ROOTFS=/home/tarkus/SARMAT/ltib/rootfs QMAKE_INCDIR += $$ROOTFS/usr/include QMAKE_LIBDIR += $$ROOTFS/usr/lib QMAKE_LFLAGS += -Wl,-rpath-link,$$ROOTFS/usr/lib QMAKE_LIBS_EGL += -lEGL QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lGAL QMAKE_LIBS_OPENVG += -lOpenVG -lEGL -lGAL IMX6_CFLAGS = -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 QMAKE_CFLAGS += $$IMX6_CFLAGS QMAKE_CXXFLAGS += $$IMX6_CFLAGS include(../common/linux_arm_device_post.conf) load(qt_config) |
5) В директории qtbase создадим файл скрипт для конфигурации QT со следующим содержимым:
1 2 |
#!/bin/sh ./configure -v -opensource -confirm-license -make libs -device imx6 -prefix /opt/QtEmbedded-5.4.1-arm -device-option CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi- -no-pch -no-openvg -no-opengl -no-icu -no-c++11 -eglfs -no-xcb -directfb -opengl es2 -no-openssl -no-xvideo -no-cups -no-glib -qt-zlib -no-nis -no-cups -no-openssl -qt-libpng -qt-libjpeg -no-audio-backend -no-separate-debug-info -no-rpath -compile-examples |
Если LTIB был собран по этой инструкции то ничего изменять не нужно, в противном случае не забудьте исправить пути к toolchain-ам и rootfs директории.
6) Запускаем скрипт конфигурации созданный на предыдущем шаге.
7) Выполняем сборку и установку проекта командами make & make install
В результате в папку /opt/QtEmbedded-5.4.1-arm будет собран набор библиотек и утилит QT для целевой платформы ARM.