文章目录
一、将Tina SDK里面的交叉编译器加到系统环境中去
在ubuntu虚拟机里面的/etc/profile
添加Tina SDK使用的交叉编译器
# T113-s3 Tina-Linux Path
export PATH=$PATH:/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin
生效一下:
source /etc/profile
查看交叉编译器有没有生效:
liefyuan@ubuntu:~$ arm-openwrt-linux-gcc -v
Reading specs from /home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/../lib/gcc/arm-openwrt-linux-muslgnueabi/6.4.1/specs
COLLECT_GCC=arm-openwrt-linux-muslgnueabi-gcc.bin
COLLECT_LTO_WRAPPER=/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/../libexec/gcc/arm-openwrt-linux-muslgnueabi/6.4.1/lto-wrapper
Target: arm-openwrt-linux-muslgnueabi
Configured with: /home/xuqiang/workspace/tina-old/out/v853-perf1/compile_dir/toolchain/gcc-linaro-6.4-2017.11/configure --with-bugurl=https://dev.openwrt.org/ --with-pkgversion='OpenWrt/Linaro GCC 6.4-2017.11 2017-11' --prefix=/home/xuqiang/workspace/tina-old/out/v853-perf1/staging_dir/toolchain --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=arm-openwrt-linux-muslgnueabi --with-gnu-ld --enable-target-optspace --enable-libgomp --disable-libmudflap --disable-multilib --disable-nls --without-isl --without-cloog --with-host-libstdcxx=-lstdc++ --with-gmp=/home/xuqiang/workspace/tina-old/out/host --with-mpfr=/home/xuqiang/workspace/tina-old/out/host --with-mpc=/home/xuqiang/workspace/tina-old/out/host --disable-decimal-float --with-diagnostics-color=auto-if-env --disable-libssp --enable-__cxa_atexit --with-cpu=cortex-a7 --with-fpu=neon --with-float=hard --with-headers=/home/xuqiang/workspace/tina-old/out/v853-perf1/staging_dir/toolchain/include --disable-libsanitizer --enable-languages=c,c++ --enable-shared --enable-threads --with-slibdir=/home/xuqiang/workspace/tina-old/out/v853-perf1/staging_dir/toolchain/lib --enable-lto --with-libelf=/home/xuqiang/workspace/tina-old/out/host
Thread model: posix
gcc version 6.4.1 (OpenWrt/Linaro GCC 6.4-2017.11 2017-11)
OK!没有问题。
二、使用Tina SDK的tslib
注意:Tina系统默认会编译自带的tslib
文件系统里面的文件目录在:
root@TinaLinux:/# ls /usr/bin
MtpTools du readlink
alsamixer etf rfcomm
alsaucm find seq
amixer free strace
aplay hciattach time
arecord hciconfig top
awk hcidump tr
basename hcitool ts_calibrate
bccmd hex2hcd ts_finddev
bdaddr hexdump ts_harvest
bluemoon hotplug.sh ts_print
brcm_patchram_plus iperf3 ts_print_mt
btattach iwinfo ts_print_raw
btmon jshn ts_test
callgrind_annotate jsonfilter ts_test_mt
callgrind_control killall ts_verify
cg_annotate l2ping valgrind
cg_diff l2test valgrind-di-server
cg_merge ldd valgrind-listener
ciptool logger vgdb
curl lv_examples wget
cut md5sum which
diff monitor-selfboot.sh xargs
dirname ms_print
dropbearconvert rctest
三、使用Tina SDK的交叉编译器编译Qt源码
Tina系统里面自带的GUI选项里面有qt,但是我从来没有编译成功过!
不得已,使用独立编译。
参考我的这个博客:https://liefyuan.blog.csdn.net/article/details/118164826
参考另一位大神的:https://blog.csdn.net/weixin_43094346/article/details/126099432
0、下载源码解压
源码地址:https://download.qt.io/archive/qt/5.12/5.12.9/single/
解压:
tar -xf qt-everywhere-src-5.12.9.tar.xz
需要花点时间才能解压完毕。
1、修改qmake.conf文件
vim qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
#
# qmake configuration for building with arm-linux-gnueabi-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS += -O2 -march=armv7-a -mtune=cortex-a7 -mfpu=neon -mfloat-abi=hard
QMAKE_CXXFLAGS += -O2 -march=armv7-a -mtune=cortex-a7 -mfpu=neon -mfloat-abi=hard
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
# modifications to g++.conf
QMAKE_CC = /home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-gcc
QMAKE_CXX = /home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-g++
QMAKE_LINK = /home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-g++
QMAKE_LINK_SHLIB = /home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-g++
# modifications to linux.conf
QMAKE_AR = arm-openwrt-linux-ar cqs
QMAKE_OBJCOPY = arm-openwrt-linux-objcopy
QMAKE_NM = arm-openwrt-linux-nm -P
QMAKE_STRIP = arm-openwrt-linux-strip
load(qt_config)
#
# qmake configuration for building with arm-linux-gnueabi-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
# modifications to g++.conf
QMAKE_CC = /home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-gcc
QMAKE_CXX = /home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-g++
QMAKE_LINK = /home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-g++
QMAKE_LINK_SHLIB = /home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-g++
# modifications to linux.conf
QMAKE_AR = /home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-ar cqs
QMAKE_OBJCOPY = /home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-objcopy
QMAKE_NM = /home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-nm -P
QMAKE_STRIP = /home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-strip
load(qt_config)
上面两种配置都可以。
运行
./autoconfigure.sh
2、配置编译选项文件
vi autoconfigure.sh
#!/bin/sh
export STAGING_DIR=/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/arm-openwrt-linux-muslgnueabi/bin/
./configure \
-prefix /opt/qt5.12.9-arm-t113 \
-opensource \
-confirm-license \
-release \
-strip \
-shared \
-xplatform linux-arm-gnueabi-g++ \
-optimized-qmake \
-c++std c++11 \
--rpath=no \
-pch \
-skip qt3d \
-skip qtactiveqt \
-skip qtandroidextras \
-skip qtcanvas3d \
-skip qtconnectivity \
-skip qtdatavis3d \
-skip qtdoc \
-skip qtgamepad \
-skip qtlocation \
-skip qtmacextras \
-skip qtnetworkauth \
-skip qtpurchasing \
-skip qtremoteobjects \
-skip qtscript \
-skip qtscxml \
-skip qtsensors \
-skip qtspeech \
-skip qtsvg \
-skip qttools \
-skip qttranslations \
-skip qtwayland \
-skip qtwebengine \
-skip qtwebview \
-skip qtwinextras \
-skip qtx11extras \
-skip qtxmlpatterns \
-make libs \
-make examples \
-nomake tools -nomake tests \
-gui \
-widgets \
-dbus-runtime \
--glib=no \
--iconv=no \
--pcre=qt \
--zlib=qt \
-no-openssl \
--freetype=qt \
--harfbuzz=qt \
-no-opengl \
-linuxfb \
--xcb=no \
-tslib \
--libpng=qt \
--libjpeg=qt \
--sqlite=qt \
-plugin-sql-sqlite \
-I/opt/tslib-t113/include \
-L/opt/tslib-t113/lib \
-plugin-sql-sqlite \
-I/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/out/t113-mq_r/staging_dir/target/usr/include/ \
-I/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/out/t113-mq_r/staging_dir/target/usr/include/allwinner/ \
-I/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/out/t113-mq_r/staging_dir/target/usr/include/allwinner/include/ \
-L/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/out/t113-mq_r/staging_dir/target/usr/lib/ \
-recheck-all
其中以下部分为编者个人的路径,请修改成个人路径。
- (1) /opt/qt5.12.9-arm-t113 为编译输出路径。
- (2) /opt/tslib-t113/include 为前面安装的 tslib 头文件路径。
- (3) /opt/tslib-t113/lib 为前面安装的 tslib 相关库文件路径。
赋予脚本可执行权限。
chmod +x autoconfigure.sh
直接执行 autoconfigure.sh执行脚本。配置需要一段时间,请耐心等待!
sudo ./autoconfigure.sh
配置成功的日志请查看附加:Qt 配置成功的日志:
3、编译Qt
time make
- -j 16 代表最多允许 16 条编译指令同时运行,参数 16,一般为个人分配给虚拟机的核心数的 2 倍,前面加个 time 是测试编译时间。
注意不要多核编译(-jN),多核编译会报错
4、安装Qt
sudo make install
安装某就是之前配置中的目录。
报错:需要增加
arm-openwrt-linux-muslgnueabi-g++.bin: warning: environment variable 'STAGING_DIR' not defined
arm-openwrt-linux-muslgnueabi-g++.bin: warning: environment variable 'STAGING_DIR' not defined
.obj/qlogging.o: In function `qFormatLogMessage(QtMsgType, QMessageLogContext const&, QString const&)':
qlogging.cpp:(.text+0x434c): undefined reference to `backtrace'
qlogging.cpp:(.text+0x440c): undefined reference to `backtrace_symbols'
collect2: error: ld returned 1 exit status
Makefile:1331: recipe for target '../../lib/libQt5Core.so.5.12.9' failed
make[3]: *** [../../lib/libQt5Core.so.5.12.9] Error 1
make[3]: Leaving directory '/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase/src/corelib'
Makefile:226: recipe for target 'sub-corelib-make_first' failed
make[2]: *** [sub-corelib-make_first] Error 2
make[2]: Leaving directory '/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase/src'
Makefile:50: recipe for target 'sub-src-make_first' failed
make[1]: *** [sub-src-make_first] Error 2
make[1]: Leaving directory '/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase'
Makefile:58: recipe for target 'module-qtbase-make_first' failed
make: *** [module-qtbase-make_first] Error 2
real 0m36.333s
user 7m11.851s
sys 0m52.516s
编译窗口命令行跑一下:
export STAGING_DIR=/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/out/t113-mq_r/staging_dir
测试一下:
liefyuan@ubuntu:~$ echo $STAGING_DIR
:/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/out/t113-mq_r/staging_dir
进行这步以后删除Qt文件夹,重新解压出来重新编译配置编译。
四、拷贝到开发板上去
拷贝文件的时候居然inodes耗尽了!
神奇的是使用读卡器将安装好的Qt文件夹拷贝到启动卡的根文件系统目录上去都有问题:
tar: qt5.12.9-arm-t113/qml/QtCharts/libqtchartsqml2.so: Cannot open: No such file or directory
tar: qt5.12.9-arm-t113/qml: Cannot mkdir: No space left on device
tar: qt5.12.9-arm-t113/qml/QtCharts/plugins.qmltypes: Cannot open: No such file or directory
tar: Exiting with failure status due to previous errors
内存不够?可是我的根文件系统有1.1GB呢!
看一下:
liefyuan@ubuntu:/media/liefyuan/57f8f4bc-abf4-655f-bf67-946fc0f9f25b/opt/qt5.12.9-arm-t113/examples$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 1784537 520 1784017 1% /dev
tmpfs 1792228 786 1791442 1% /run
/dev/sda1 6496256 2324896 4171360 36% /
tmpfs 1792228 9 1792219 1% /dev/shm
tmpfs 1792228 5 1792223 1% /run/lock
tmpfs 1792228 17 1792211 1% /sys/fs/cgroup
tmpfs 1792228 35 1792193 1% /run/user/1000
/dev/sdb1 0 0 0 - /media/liefyuan/Volumn
/dev/sdb5 6016 6016 0 100% /media/liefyuan/57f8f4bc-abf4-655f-bf67-946fc0f9f25b
/dev/sdb7 6288 11 6277 1% /media/liefyuan/280c157f-8c2e-4d5e-a838-c73b3e13d956
/dev/sdb8 1819680 11 1819669 1% /media/liefyuan/fcb51570-6dd7-4b8d-b0f7-2c15b18cac56
对应:
/dev/sdb5 6016 6016 0 100% /media/liefyuan/57f8f4bc-abf4-655f-bf67-946fc0f9f25b
妈耶,inodes资源耗尽了!
为啥我这个分区是1GB,但是可用的inodes才6016呢?
解决inodes耗尽的问题
Tina SDK配置文件系统的时候里面有个默认值
把这个6000改成100000就可以了。
拷贝成功后,添加环境到/etc/profile
#!/bin/sh
echo "------run profile file-----"
[ -f /etc/banner ] && cat /etc/banner
[ -e /tmp/.failsafe ] && cat /etc/banner.failsafe
fgrep -sq '/ overlay ro,' /proc/mounts && {
echo 'Your JFFS2-partition seems full and overlayfs is mounted read-only.'
echo 'Please try to remove files from /overlay/upper/... and reboot!'
}
export PATH="/usr/sbin:/usr/bin:/sbin:/bin"
export HOME=$(grep -e "^${USER:-root}:" /etc/passwd | cut -d ":" -f 6)
export HOME=${HOME:-/root}
export PS1='\u@\h:\w\$ '
export LD_LIBRARY_PATH=/usr/lib/eyesee-mpp:${LD_LIBRARY_PATH}
# 使用Tina系统默认的tslib
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event1
export QT_ROOT=/opt/qt5.12.9-arm-t113
export LD_LIBRARY_PATH=$QT_ROOT/lib:$QT_ROOT/plugins/platforms
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0
export QT_QPA_FONTDIR=$QT_ROOT/lib/fonts
export QT_QPA_GENERIC_PLUGINS=tslib:$TSLIB_TSDEVICE
#export QT_QPA_FB_TSLIB=1
export QML2_IMPORT_PATH=$QT_ROOT/qml
export QT_QPA_EGLFS_TSLIB=1
#export QT_DEBUG_PLUGINS=1
export XDG_RUNTIME_DIR=/usr/lib/
export RUNLEVEL=3
ulimit -c unlimited
grep debugfs /proc/filesystems && mount -t debugfs none /sys/kernel/debug
alias usbhost="cat /sys/devices/platform/soc@3000000/soc@3000000:usbc0@0/usb_host"
alias usbdevice="cat /sys/devices/platform/soc@3000000/soc@3000000:usbc0@0/usb_device"
[ -x /bin/more ] || alias more=less
[ -x /usr/bin/vim ] && alias vi=vim || alias vim=vi
[ -z "$KSH_VERSION" -o \! -s /etc/mkshrc ] || . /etc/mkshrc
[ -x /usr/bin/arp ] || arp() { cat /proc/net/arp; }
[ -x /usr/bin/ldd ] || ldd() { LD_TRACE_LOADED_OBJECTS=1 $*; }
[ -n "$FAILSAFE" ] || {
for FILE in /etc/profile.d/*.sh; do
[ -e "$FILE" ] && . "$FILE"
done
unset FILE
}
[ -x /bin/ll ] || alias ll='ls -al'
在最末尾添加如下语句,会在qtcreator启动时,列出详细的错误提示。
export QT_DEBUG_PLUGINS=1
运行报错:
root@TinaLinux:/opt/qt5.12.9-arm-t113/examples/widgets/widgets/analogclock# ./analogclock
Error loading shared library libstdc++.so.6: No such file or directory (needed by ./analogclock)
Error loading shared library libstdc++.so.6: No such file or directory (needed by /opt/qt5.12.9-arm-t113/lib/libQt5Widgets.so.5)
Error loading shared library libstdc++.so.6: No such file or directory (needed by /opt/qt5.12.9-arm-t113/lib/libQt5Gui.so.5)
Error loading shared library libstdc++.so.6: No such file or directory (needed by /opt/qt5.12.9-arm-t113/lib/libQt5Core.so.5)
Error relocating /opt/qt5.12.9-arm-t113/lib/libQt5Widgets.so.5: _ZSt17__throw_bad_allocv: symbol not found
添加触摸屏
默认没有触摸驱动的
五、适配屏幕
修改设备树:Tina-Linux/device/config/chips/t113/configs/mq_r/board.dts
原版的:我的五寸屏幕会闪屏,需要修改适配!
参考这篇:Mangopi MQ-R:T113-s3(四)Tina系统 适配LCD屏幕
附加:
Qt 配置成功的日志:
liefyuan@ubuntu:~/qt-src/qt-everywhere-src-5.12.9$ sudo ./autoconfigure.sh
+ cd qtbase
+ /home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase/configure -top-level -prefix /opt/qt5.12.9-arm-t113 -opensource -confirm-license -release -strip -shared -xplatform linux-arm-gnueabi-g++ -optimized-qmake -c++std c++11 --rpath=no -pch -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtcanvas3d -skip qtconnectivity -skip qtdatavis3d -skip qtdoc -skip qtgamepad -skip qtlocation -skip qtmacextras -skip qtnetworkauth -skip qtpurchasing -skip qtremoteobjects -skip qtscript -skip qtscxml -skip qtsensors -skip qtspeech -skip qtsvg -skip qttools -skip qttranslations -skip qtwayland -skip qtwebengine -skip qtwebview -skip qtwinextras -skip qtx11extras -skip qtxmlpatterns -make libs -make examples -nomake tools -nomake tests -gui -widgets -dbus-runtime --glib=no --iconv=no --pcre=qt --zlib=qt -no-openssl --freetype=qt --harfbuzz=qt -no-opengl -linuxfb --xcb=no -tslib --libpng=qt --libjpeg=qt --sqlite=qt -plugin-sql-sqlite -I/opt/tslib-t113/include -L/opt/tslib-t113/lib -recheck-all
Creating qmake...
.Done.
Info: creating stash file /home/liefyuan/qt-src/qt-everywhere-src-5.12.9/.qmake.stash
This is the Qt Open Source Edition.
You have already accepted the terms of the Open Source license.
Running configuration tests...
Checking for gold linker... no
Checking for machine tuple... yes
Checking for valid makespec... yes
Checking for target architecture... arm
Checking for host architecture... x86_64
Checking for alloca() in alloca.h... yes
Checking for C99 support... yes
Checking for C11 support... yes
Checking for new dtags support... yes
Checking for pkg-config... no
Checking for D-Bus >= 1.2 (host)... yes
Checking for udev... no
Checking for POSIX fallocate()... yes
Checking for precompiled header support... yes
Checking for RDRAND instruction... no
Checking for symbol visibility support... yes
Checking for -Bsymbolic-functions support... no
Checking for STL compatibility... yes
Checking for clock_gettime()... yes
Checking for POSIX monotonic clock... yes
Checking for C++11 <future>... yes
Checking for dlopen()... yes
Checking for eventfd... yes
Checking for futimens()... yes
Checking for getauxval()... yes
Checking for getentropy()... yes
Checking for GNU libc... no
Checking for ICU... no
Checking for inotify... yes
Checking for SysV IPC... yes
Checking for linkat()... yes
Checking for ppoll()... yes
Checking for renameat2()... no
Checking for slog2... no
Checking for statx() in libc... no
Checking for 64 bit atomics... yes
Checking for DoubleConversion... no
Checking for O_CLOEXEC... yes
Checking for C++11 <random>... yes
Checking for working std::atomic for function pointers... yes
Checking for getifaddrs()... yes
Checking for IPv6 ifname... yes
Checking for Linux AF_NETLINK sockets... yes
Checking for KMS... no
Checking for OpenVG... no
Checking for evdev... yes
Checking for GBM... no
Checking for LinuxFB... yes
Checking for mtdev... no
Checking for default QPA platform... xcb
Checking for tslib... yes
Checking for Vulkan... no
Checking for XLib... no
Checking for xkbcommon >= 0.5.0... no
Checking for CUPS... no
Checking for DB2 (IBM)... no
Checking for InterBase... no
Checking for MySQL... no
Checking for OCI (Oracle)... no
Checking for ODBC... no
Checking for PostgreSQL... no
Checking for SQLite (version 2)... no
Checking for TDS (Sybase)... no
Checking for Socket CAN... yes
Checking for Socket CAN FD... yes
Checking for jasper... no
Checking for mng... no
Checking for tiff... no
Checking for webp... no
Checking for C++14 make_unique()... no
Checking for Direct3D 12... no
Checking for ALSA... no
Checking for GStreamer 1.0... no
Checking for GStreamer 0.10... no
Checking for Video for Linux... yes
Checking for OpenAL... no
Checking for PulseAudio >= 0.9.10... no
Checking for libresourceqt5... no
Done running configuration tests.
Configure summary:
Building on: linux-g++ (x86_64, CPU features: mmx sse sse2)
Building for: linux-arm-gnueabi-g++ (arm, CPU features: neon)
Target compiler: gcc 6.4.1
Configuration: cross_compile compile_examples enable_new_dtags largefile neon precompile_header shared release c++11 concurrent dbus no-pkg-config reduce_exports release_tools stl
Build options:
Mode ................................... release; optimized tools
Optimize release build for size ........ no
Building shared libraries .............. yes
Using C standard ....................... C11
Using C++ standard ..................... C++11
Using ccache ........................... no
Using gold linker ...................... no
Using new DTAGS ........................ yes
Using precompiled headers .............. yes
Using LTCG ............................. no
Target compiler supports:
NEON ................................. yes
Build parts ............................ libs examples
Qt modules and options:
Qt Concurrent .......................... yes
Qt D-Bus ............................... yes
Qt D-Bus directly linked to libdbus .... no
Qt Gui ................................. yes
Qt Network ............................. yes
Qt Sql ................................. yes
Qt Testlib ............................. yes
Qt Widgets ............................. yes
Qt Xml ................................. yes
Support enabled for:
Using pkg-config ....................... no
udev ................................... no
Using system zlib ...................... no
Qt Core:
DoubleConversion ....................... yes
Using system DoubleConversion ........ no
GLib ................................... no
iconv .................................. no
ICU .................................... no
Tracing backend ........................ <none>
Logging backends:
journald ............................. no
syslog ............................... no
slog2 ................................ no
Using system PCRE2 ..................... no
Qt Network:
getifaddrs() ........................... yes
IPv6 ifname ............................ yes
libproxy ............................... no
Linux AF_NETLINK ....................... yes
OpenSSL ................................ no
Qt directly linked to OpenSSL ........ no
OpenSSL 1.1 ............................ no
DTLS ................................... no
SCTP ................................... no
Use system proxies ..................... yes
Qt Gui:
Accessibility .......................... yes
FreeType ............................... yes
Using system FreeType ................ no
HarfBuzz ............................... yes
Using system HarfBuzz ................ no
Fontconfig ............................. no
Image formats:
GIF .................................. yes
ICO .................................. yes
JPEG ................................. yes
Using system libjpeg ............... no
PNG .................................. yes
Using system libpng ................ no
EGL .................................... no
OpenVG ................................. no
OpenGL:
Desktop OpenGL ....................... no
OpenGL ES 2.0 ........................ no
OpenGL ES 3.0 ........................ no
OpenGL ES 3.1 ........................ no
OpenGL ES 3.2 ........................ no
Vulkan ................................. no
Session Management ..................... yes
Features used by QPA backends:
evdev .................................. yes
libinput ............................... no
INTEGRITY HID .......................... no
mtdev .................................. no
tslib .................................. yes
xkbcommon .............................. no
X11 specific:
XLib ................................. no
XCB Xlib ............................. no
EGL on X11 ........................... no
QPA backends:
DirectFB ............................... no
EGLFS .................................. no
LinuxFB ................................ yes
VNC .................................... yes
Mir client ............................. no
Qt Sql:
SQL item models ........................ yes
Qt Widgets:
GTK+ ................................... no
Styles ................................. Fusion Windows
Qt PrintSupport:
CUPS ................................... no
Qt Sql Drivers:
DB2 (IBM) .............................. no
InterBase .............................. no
MySql .................................. no
OCI (Oracle) ........................... no
ODBC ................................... no
PostgreSQL ............................. no
SQLite2 ................................ no
SQLite ................................. yes
Using system provided SQLite ......... no
TDS (Sybase) ........................... no
Qt Testlib:
Tester for item models ................. yes
Qt SerialBus:
Socket CAN ............................. yes
Socket CAN FD .......................... yes
Further Image Formats:
JasPer ................................. no
MNG .................................... no
TIFF ................................... yes
Using system libtiff ................. no
WEBP ................................... yes
Using system libwebp ................. no
Qt QML:
QML network support .................... yes
QML debugging and profiling support .... yes
QML sequence object .................... yes
QML list model ......................... yes
QML XML http request ................... yes
QML Locale ............................. yes
QML delegate model ..................... yes
Qt Quick:
Direct3D 12 ............................ no
AnimatedImage item ..................... yes
Canvas item ............................ yes
Support for Qt Quick Designer .......... yes
Flipable item .......................... yes
GridView item .......................... yes
ListView item .......................... yes
TableView item ......................... yes
Path support ........................... yes
PathView item .......................... yes
Positioner items ....................... yes
Repeater item .......................... yes
ShaderEffect item ...................... yes
Sprite item ............................ yes
Qt Quick Controls 2:
Styles ................................. Default Fusion Imagine Material Universal
Qt Quick Templates 2:
Hover support .......................... yes
Multi-touch support .................... yes
Qt Multimedia:
ALSA ................................... no
GStreamer 1.0 .......................... no
GStreamer 0.10 ......................... no
Video for Linux ........................ yes
OpenAL ................................. no
PulseAudio ............................. no
Resource Policy (libresourceqt5) ....... no
Windows Audio Services ................. no
DirectShow ............................. no
Windows Media Foundation ............... no
Note: Also available for Linux: linux-clang linux-icc
Note: -optimized-tools is not useful in -release mode.
WARNING: Cross compiling without sysroot. Disabling pkg-config
Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into '/opt/qt5.12.9-arm-t113'.
Prior to reconfiguration, make sure you remove any leftovers from
the previous build.
liefyuan@ubuntu:~/qt-src/qt-everywhere-src-5.12.9
编译成功
make[4]: Entering directory '/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtcharts/examples/charts/datetimeaxis'
/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-g++ -c -pipe -O2 -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CHARTS_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I../../../include -I../../../include/QtCharts -I/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase/include -I/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase/include/QtWidgets -I/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase/include/QtGui -I/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase/include/QtCore -I.moc -I/opt/tslib-t113/include -I/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/out/t113-mq_r/staging_dir/target/usr/include -I/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/out/t113-mq_r/staging_dir/target/usr/include/allwinner -I/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/out/t113-mq_r/staging_dir/target/usr/include/allwinner/include -I/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase/mkspecs/linux-arm-gnueabi-g++ -o .obj/main.o main.cpp
/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase/bin/rcc -name sundata sundata.qrc -o .rcc/qrc_sundata.cpp
/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-g++ -c -pipe -O2 -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CHARTS_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I../../../include -I../../../include/QtCharts -I/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase/include -I/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase/include/QtWidgets -I/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase/include/QtGui -I/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase/include/QtCore -I.moc -I/opt/tslib-t113/include -I/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/out/t113-mq_r/staging_dir/target/usr/include -I/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/out/t113-mq_r/staging_dir/target/usr/include/allwinner -I/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/out/t113-mq_r/staging_dir/target/usr/include/allwinner/include -I/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase/mkspecs/linux-arm-gnueabi-g++ -o .obj/qrc_sundata.o .rcc/qrc_sundata.cpp
/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-g++ -Wl,-O1 -Wl,--enable-new-dtags -o datetimeaxis .obj/main.o .obj/qrc_sundata.o -L/opt/tslib-t113/lib -L/home/liefyuan/Liefyuan/Tina-Linux/Tina-Linux/out/t113-mq_r/staging_dir/target/usr/lib/ /home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtcharts/lib/libQt5Charts.so /home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase/lib/libQt5Widgets.so /home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase/lib/libQt5Gui.so /home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtbase/lib/libQt5Core.so -lpthread
make[4]: Leaving directory '/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtcharts/examples/charts/datetimeaxis'
make[3]: Leaving directory '/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtcharts/examples/charts'
make[2]: Leaving directory '/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtcharts/examples'
make[1]: Leaving directory '/home/liefyuan/qt-src/qt-everywhere-src-5.12.9/qtcharts'
real 59m17.425s
user 53m38.097s
sys 6m8.486s