cross-compile-qt-sources
Desc
qt-everywhere-opensource-src-5.9.8.tar.xz
是源码包,可编译出qmake
工具,用于交叉编译 QT 程序,适用于交叉编译 QT 程序以放入开发板运行。
qt-opensource-linux-x64-5.9.8.run
是 linux 程序,执行安装出 QtCreator 和 x86_64 的 qmake 程序,适用于在 linux 系统上开发 QT。
Env
1 | export PATH=$PATH:$HOME/sysroots/x86_64-linux/usr/bin/arm-oe-linux-gnueabi |
Depends
由于下面的编译步骤依赖了freetype
和tslib
两个库,所以需要提前编译该依赖库。
编译步骤可参考:this
Build
cd $HOME/qt-everywhere-opensource-src-5.9.8/qtbase/mkspecs/
cp -rf linux-arm-gnueabi-g++ arm-oe-linux-gnueabi-g++
1 | --- a/qmake.conf |
1 | ./configure \ |
make && make install
(这里-extprefix 才是实际安装的路径, -prefix 可以指定跟-extprefix 一致)
Runtime Env
下面是运行时的一些环境变量,仅供参考
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15export LD_LIBRARY_PATH=/cache/qt5/lib:/cache/install/lib:/usr/lib:/lib:$LD_LIBRARY_PATH
export QT_DEBUG_PLUGINS=0
export QT_QPA_FONTDIR=/cache/qt5/font
export QT_QPA_PLATFORM_PLUGIN_PATH=/cache/qt5/plugins/
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:size=320x240:mmSize=320x240:offset=0x0:tty=/dev/tty0
export QT_QPA_GENERIC_PLUGINS=evdevtouch:/dev/input/event1
export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event1:rotate=0
export QT_QPA_FB_TSLIB=1
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_CALIBFILE=/cache/pointercal
export TSLIB_CONFFILE=/cache/ts.conf
export TSLIB_PLUGINDIR=/cache/install/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export LD_PRELOAD=/cache/install/lib/libts.so