1、下载qt-everywhere-opensource-src-5.9.0.tar.xz
2、拷贝到docker下arm平台上
docker cp qt-everywhere-opensource-src-5.9.0.tar.xz 容器id:/home/qt5.9
3、解压
tar -Jxv -f qt-everywhere-opensource-src-5.9.0.tar.xz
4、安装编译工具gcc,g++,make
apt-get install -y gcc
5、配置加参数,可用脚本配置
要更改 xplatform 路径 aarch64-none-linux-gnu-g++
更改 qbase/mkspace/aarch64-none-linux-gnu-g++ 里的qconfig ,里面的编译器改成自己编译器
--xcb=qt xcb的编译选项最好用qt,自带的xcb可能不能用
bash configure -prefix /usr/local/qt5.9.0ForArm \
-opensource \
-confirm-license \
-release \
-strip \
-shared \
-xplatform aarch64-none-linux-gnu-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=qt \
-tslib \
--libpng=qt \
--libjpeg=qt \
--sqlite=qt \
-plugin-sql-sqlite \
-no-tslib \
-recheck-all
6、编译
make -j8
7、安装
make install
8、添加qt库到环境
vim /etc/bash.bashrc
末尾添加
export QTDIR=/usr/local/qt5.9.0ForArm
export PATH=$PATH:$QTDIR/bin
export LD_LIBRARY_PATH=$QTDIR/lib
或者:
修改/etc/profile对所有用户都生效。修改好配置文件后执行source /etc/profile
或者 source /root/.bashrc
使配置文件生效
问题1:ERROR: The OpenGL functionality tests failed!
install libgl1-mesa-dev libglu1-mesa-dev
问题2:did you mean 'std::max'? const auto uchar_max = (std::numeric_limits<uchar>::max)
头文件添加#include <limits>
问题3:usr/include/c++/6.4.1/bits/stl_relops.:67: Parse error at "std
删除隐藏文件.qmake.stash