之前配置了一个5.8版本的qte,有很多问题,也找不到相关的文章来参考,所以重新写了一个qte4.8.5版本,这个版本的qte已经很成熟了,网上文章也很多。
Qte4.8.5版本 环境: Ubuntu16.04 x64 PC windwos 10/7 Vmware-workstation 12 工具: qt-everywhere-opensource-src-4.8.5.tar.gz-------qt fro arm fsl-linaro-toolchain.tar.gz-------cross compile toolchain 附上一张正常编译截图:
常用的解压命令 tar -xvf file.tar //解压 tar tar -xzvf file.tar.gz //解压tar.gz tar -xjvf file.tar.bz2 //解压 tar.bz2 tar -xZvf file.tar.Z //解压tar.Z unrar e file.rar //解压rar unzip file.zip //解压zip
1.安装交叉编译工具 lfg@qy:tar -zxvf fsl-linaro-toolchain.tar.gz 配置环境变量: lfg@qy:vi /etc/bash.bashrc export PATH=$PATH:/opt/fsl-linaro-toolchain/bin #路径选择解压后对应路径,我的是/opt/…… export ARCH=arm export CROSS_COMPILE=arm-none-linux-gnueabi- 测试工具链是否成功配置 lfg@qy:arm-none-linux-gnueabi-gcc -v Thread model: posix gcc version 4.6.2 20110630 (prerelease) (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20) 出现以上打印信息配置完成 2.安装配置qte4.8.5 lfg@qy:tar -zxvf qt-everywhere-opensource-src-5.8.0.tar.gz 解压后生成目录qt-everywhere-opensource-src-5.8.0 修改交叉编译器: lfg@qy:cd /qtbase/mkspecs/linux-arm-gnueabi-g++ lfg@qy:gedit qmake.conf # modifications to g++.conf QMAKE_CC = arm-none-linux-gnueabi-gcc -lts QMAKE_CXX = arm-none-linux-gnueabi-g++ -lts QMAKE_LINK = arm-none-linux-gnueabi-g++ -lts QMAKE_LINK_SHLIB = arm-none-linux-gnueabi-g++ -lts
# modifications to linux.conf QMAKE_AR = arm-none-linux-gnueabi-ar cqs QMAKE_OBJCOPY = arm-none-linux-gnueabi-objcopy QMAKE_NM = arm-none-linux-gnueabi-nm -P QMAKE_STRIP = arm-none-linux-gnueabi-strip load(qt_config) 写一个脚本程序,build_qt.sh # !/bin/bash ./configure -prefix /qte-arm/qt-4.8.5-arm \ -opensource \ -confirm-license \ -embedded arm \ -xplatform linux-arm-gnueabi-g++ \ -platform /qws/linux-x86-g++ \ -little-endian \ -host-little-endian \ -shared \ -no-qt3support \ -no-phonon -no-phonon-backend \ -qt-zlib \ -no-gif \ -no-libtiff \ -no-qvfb \ -qt-libjpeg \ -no-nis \ -no-opengl \ -no-cups \ -no-webkit \ -no-glib \ -no-dbus \ -no-rpath \ -no-mmx -no-3dnow \ -no-sse -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 \ -no-avx -no-neon \ -no-audio-backend \ -no-svg \ -no-javascript-jit \ -no-script \ -no-scripttools \ -no-multimedia \ -no-openssl \ -nomake tools \ -qt-mouse-tslib \ -I/home/work/qtenv/tslib/include \ -L/home/work/qtenv/tslib/lib (选择安装目录和触摸屏库和头文件) 运行build_qt.sh lfg@qy: sh build_qt.sh 没有错误的话会生成Makefile文件 接下来 make 大概需要三个小时左右,看电脑配置的时候到了 编译完成-------make install 安装完成后,在安装目录下生成了 qt 库以及 demo 程序。 完成编译和安装后需要对系统的环境变量进行设置,才能编译自己的程序 vim setARMenv.sh #!/bin/sh export QTEDIR=/qte-arm/qt-4.8.5-arm:$QTEDIR export PATH=/qte-arm/qt-4.8.5-arm/bin:$PATH export LD_LIBRARY_PATH=/qte-arm/qt-4.8.5-arm/lib: LD_LIBRARY_PATH export QMAKESPEC=/tools/qt-everywhere-opensource-src-4.8.5/mkspecs/qws/linux-arm-g++ (上面这个是linux-arm-g++的路径) 注意: 以上目录是你安装 qt 库的路径 lfg@qy:source setARMenv.sh (也可以直接写进 /etc/bash.bashrc中,这样不用每次都source)
在虚拟机的 ubuntu 下,写好代码之后,定位到代码目录, 先执行 source setARMenv.sh 修改环境变量 然后查看 qmake 的路径是否正确 qmake -v 正确显示版本号与路径配置完成 执行命令 qmake -project // 生成工程文件.pro qmake // 生成 makefile make //生成可执行文件 生成的可执行文件复制到开发板中,正确配置显示屏执行可以看到显示。