参考博客:https://blog.csdn.net/godofdsp/article/details/50961853
1.QT源码及各种资源的下载主站:http://download.qt.io/archive/qt/
-
下载qt-everywhere-opensource-src-4.8.6.tar.gz,解压,不会的向隅而泣,反思自己的智商是否适合做码农。
-
在源码目录的mkspecs/qws目录下添加一个文件夹linux-arm-hisiv400-g++,然后把linux-arm-g++下的文件复制到这个新文件夹里。
-
打开mkspecs/qws/linux-arm-hisiv400-g++/qmake.conf,将arm-linux-全部修改为arm-hisiv400-linux-。有人觉得没必要建文件夹、拷贝文件,直接改linux-arm-g++文件夹里的文件就行,有这种想法的请向隅而泣,反思自己是否具有一个合格码农的酥痒(素养)。
-
在# modifications to linux.conf这行注释上头添加如下两行内容:
QMAKE_CFLAGS += -fpermissive
QMAKE_CXXFLAGS += -fpermissive
然后保存文件 -
修改两个工程文件:
1)examples/examples.pro,删除行contains(QT_CONFIG, webkit): SUBDIRS += webkit
否则编译example webkit时会报错
2)vim demos/demos.pro,删除两行contains(QT_CONFIG, webkit):contains(QT_CONFIG, svg):SUBDIRS += demos_browser和demos_browser.subdir = browser
否则编译demo browser会出错 -
在源码目录下创建compile.sh,内容如下:
#/bin/bash
./configure --prefix=./opt/qt4.8.6 -no-pch -xplatform qws/linux-arm-hisiv400-g++ -arch arm -embedded arm -no-freetype -qt-mouse-pc -no-webkit -no-largefile -fast -release -no-qt3support -no-cups -no-opengl -no-phonon -phonon-backend -no-scripttools -no-libtiff
-no-gif -no-libmng -no-nis -no-cups -no-svg -qt-mouse-pc
make
make install
或者
#/bin/bash
./configure --prefix=/opt/qt4.8.6 -opensource -confirm-license
-qt-sql-sqlite -qt-gfx-linuxfb -plugin-sql-sqlit -no-qt3support -no-phonon
-no-svg -no-webkit -no-javascript-jit -no-script -no-scripttools -no-declarative
-no-declarative-debug -qt-zlib -no-gif -qt-libtiff -qt-libpng -no-libmng
-qt-libjpeg -no-rpath -no-pch -no-3dnow -no-avx -no-neon -no-openssl -no-nis
-no-cups -no-dbus -embedded arm -platform linux-g++ -xplatform
qws/linux-arm-hisiv400-g++ -little-endian -qt-freetype -no-opengl -no-glib
-nomake demos -nomake examples -nomake docs -nomake tools
make
make install
- 然后赋予compile.sh可执行权限chmod +x compile.sh,运行该脚本开始编译。有人说直接输入脚本里的命令不就行了吗?对,不嫌麻烦你就编译一次输一次好了,反正浪费的不是我的时间。另外我这个板子不带触摸屏, 因此编译时候没带libts,需要的自己改配置参数,不会改的自己看configure的帮助,不会看或看不懂请向隅而泣,该反思啥自己琢磨。
注:1. 第7步中的–prefix=./opt/qt4.8.6 为安装路径;
2. make后可能会说找不到arm-hisiv400-linux-g++找不到,这样的话要在加载次环境变量即可;
export PATH="/opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/bin:$PATH"
这个环境变量其实已在/opt/profile中有设定