明远智睿技术论坛

标题: 移植QT库5.9.4 [打印本页]

作者: myzr_soft    时间: 2019-12-4 17:23
标题: 移植QT库5.9.4
本帖最后由 myzr_soft 于 2019-12-9 15:24 编辑

主机平台: UBUNTU14.04
硬件平台:明远智睿MY-IMX6-EK200-6Q-1G
内核版本 :linux-4.1.15
交叉编译链:
arm-linux-gnueabihf
文件系统:L4115-core-image-base-myimx6a9.tar.bz2

下载:
tslib:[attach]580[/attach]
QT5.9.4库:
http://download.qt.io/official_releases/qt/5.9/5.9.4/single/qt-everywhere-opensource-src-5.9.4.tar.xz

配置交叉工具:
$ export PATH=/home/myzr/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/bin/PATH

创建工作目录及解压:
$ mkdir Qt
$ mv tslib-master.zip Qt
$ mv qt-everywhere-opensource-src-5.9.4.tar.xz Qt
$ cd Qt/
$ unzip tslib-master.zip
$ tar xf qt-everywhere-opensource-src-5.9.4.tar.xz
$ mkdir tslib-install

编译tslib(X86):
$ cd tslib-master
$ ./autogen.sh
$ ./configure
$ make
$ make install

编译tslib(arm):
$ make distclean
$ ./autogen.sh
$ ./configure --host=arm-linux-gnueabihf --prefix /home/myzr/Qt/tslib-install/ CC=arm-linux-gnueabihf-gcc
$ make
$ make install


编译qt库:
$ cd ..
$ cd qt-everywhere-opensource-src-5.9.4
$ cd qtbase/mkspecs
$ cp linux-arm-gnueabi-g++/ linux-arm-poky-gnueabi-g++/ -r
$ cd linux-arm-poky-gnueabi-g++
$ vi qmake.conf

修改交叉工具链路径,且在QMAKE_CC、QMAKE_CXX、QMAKE_LINK、QMAKE_LINK_SHLIB后加上-lts:
# modifications to g++.conf
QMAKE_CC                = /home/myzr/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -lts
QMAKE_CXX               = /home/myzr/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -lts
QMAKE_LINK              = /home/myzr/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -lts
QMAKE_LINK_SHLIB        = /home/myzr/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -lts
# modifications to linux.conf
QMAKE_AR                = /home/myzr/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY           = /home/myzr/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-objcopy
QMAKE_NM                = /home/myzr/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-nm -P
QMAKE_STRIP             = /home/myzr/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-strip
[attach]581[/attach]
$ cd ~/Qt/qt-everywhere-opensource-src-5.9.4/
$ vi qtbase/mkspecs/common/linux.conf
QMAKE_LIBS_THREAD       = -lpthread 后加上-lts
即: QMAKE_LIBS_THREAD       = -lpthread -lts
[attach]582[/attach]

$ sudo ./configure     -prefix /usr/local/qte5.9.4     -confirm-license     -opensource       -shared     -release -make libs     -xplatform linux-arm-poky-gnueabi-g++     -optimized-qmake -pch -qt-libjpeg     -qt-libpng     -qt-zlib     -no-opengl     -no-sse2     -no-openssl     -no-cups     -no-glib     -no-dbus     -no-xcb  -no-separate-debug-info     -no-fontconfig     -nomake examples -nomake tools -nomake tests -no-iconv -skip qtdeclarative -tslib -I/home/myzr/Qt/tslib-install/include     -L/home/myzr/Qt/tslib-install/lib
$ make
出现错误:
make: *** 没有规则可以创建“assistant_ar.qm”需要的目标“/usr/local/qte5.9.4/bin/lrelease”。 停止。
[attach]585[/attach]
$ sudo mkdir /usr/local/qte5.9.4/bin
$ sudo cp qttools/bin/lrelease /usr/local/qte5.9.4/bin
$ sudo chmod 777 /usr/local/qte5.9.4/bin/lrelease

继续编译:
$ make
$ sudo make install

安装目录为/usr/local/qte5.9.4  可将这个文件移植到开发板相同的目录


作者: Bob_linux    时间: 2020-10-16 21:34
您好! 可以给出一个相关的测试例程么? 我跟着这个教程交叉编译之后,不知道怎么用,




欢迎光临 明远智睿技术论坛 (http://bbs.myzr.com.cn/) Powered by Discuz! X3.2