Qt4.8.7移植(嵌入式ARM平台)
嵌入式平台 :socfpga
开发环境 :ubuntu16.04.3
交叉编译器 :arm-linux-gnueabihf-gcc
markdown :typora
1.交叉编译器的安装
这里使用的编译器是gcc-linaro-arm-linux-gnueabihf-4.7
tar jxvf gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux.tar.bz2 -C /opt/
配置交叉编译器的环境,打开vi /etc/profile
,在文件尾添加交叉编译器可执行文件的路径
export PATH=$PATH:/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/bin
2.编译tslib
下载tslib源码
编译tslib时,宿主机需要安装的工具
编译tslib是,宿主机需要安装的工具
sudo apt-get install automake autoconf libtool m4 sudo apt-get install libX11-dev libXext-dev libXtst-dev libXrender-dev sudo apt-get install libqt4-core libqt4-dev libqt4-webkit qt4-demos
解压
tslib-master.zip
unzip tslib-master.zip
开始编译
cd tslib-master sudo ./autogen-clean.sh sudo ./autogen.sh sudo ./configure CC=/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/bin/arm-linux-gnueabihf-gcc CXX=/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/bin/arm-linux-gnueabihf-g++ --host=arm-linux --prefix=/usr/local/tslib ac_cv_func_malloc_0_nonnull=yes sudo make sudo make install
修改
tslib
配置文件修改,打开文件vi /usr/local/tslib/etc/ts.conf
#module_raw input #修改如下,切记顶格 moudule_raw input
3.Qt4.8.7移植
下载Qt4.8.7源码
解压Qt4.8.7源码
扫描二维码关注公众号,回复: 2452649 查看本文章tar xvf qt-everywhere-opensource-src-4.8.7.tar.gz
修改
qmake.conf
中的编译器(如果找不到编译器的话使用绝对路径)打开文件
vi qt-everywhere-opensource-src-4.8.7/mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf
# modifications to g++.conf QMAKE_CC=/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/bin/arm-linux-gnueabihf-gcc -lts QMAKE_CXX=/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/bin/arm-linux-gnueabihf-g++ -lts QMAKE_LINK=/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/bin/arm-linux-gnueabihf-g++ -lts QMAKE_LINK_SHLIB=/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/bin/arm-linux-gnueabihf-g++ -lts # modifications to linux.conf QMAKE_AR=/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/bin/arm-linux-gnueabihf-ar cqs QMAKE_OBJCOPY=/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/bin/arm-linux-gnueabihf-objcopy QMAKE_STRIP=/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/bin/arm-linux-gnueabihf-strip
编译Qt4.8.7
#配置Qt sudo ./configure --prefix=/home/wyy/MySoftWare/qt4.8.7-arm -opensource -release -shared -Declarative -importdir /opt/imports -fast -no-largefile -qt-sql-sqlite -qt3support -exceptions -xmlpatterns -no-glib -no-phonon -no-mmx -no-3dnow -no-sse -no-sse2 -svg -no-webkit -qt-zlib -qt-libtiff -qt-libpng -qt-libjpeg -make libs -make tools -make examples -make docs -nomake demo -no-nis -iconv -no-dbus -xplatform qws/linux-arm-gnueabi-g++ -embedded arm -little-endian -qt-freetype -depths 16,24,32 -qt-gfx-linuxfb -qt-gfx-transformed -qt-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-kbd-qvfb -armfpa -no-mouse-qvfb -qt-mouse-linuxtp -qt-mouse-tslib -DQT_QLOCALE_USES_FCVT -DQT_NO_QWS_CURSOR -no-pch -I/usr/local/tslib/include -L/usr/local/tslib/lib -confirm-license #编译 sudo make -j4 #安装 sudo make install
4.部署Qt4.8.7到嵌入式平台
安装tslib库到嵌入式根文件系统
cp -a /usr/local/tslib 嵌入式根文件系统的/usr/local/目录下
安装Qt4.8.7库到嵌入式根文件系统
cp -a /home/wyy/MySoftWare/qt4.8.7-arm 嵌入式根文件系统的/usr/local/目录下
配置Qt4.8.7和tslib的环境
export LD_LIBRARY_PATH=/lib:$LD_LIBRARY_PATH export QTDIR=/usr/local/qt4.8.7-arm export T_ROOT=/usr/local/tslib export PATH=$T_ROOT/bin:$PATH export LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib:$LD_LIBRARY_PATH export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_TSDEVICE=/dev/input/event0 export TSLIB_PLUGINDIR=$T_ROOT/lib/ts export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf export TSLIB_CALIBFILE=/etc/pointercal export QWS_MOUSE_PROTO=Tslib:/dev/input/event0 export QT_QWS_FONTDIR=$QTDIR/lib/fonts export QT_PLUGIN_PATH=$QTDIR/plugins/