目标机上的QT环境构建
(因为是后期整理的,所以图文不太相符)
首先要下载qteverywhere,下载链接如下,失效的话自行百度下载,版本是5.5.1。
链接:https://pan.baidu.com/s/1f4P5q83eLB2V_-Ef6P-C2g 密码:3t18
把qt-everywhere解压到一个你喜欢的文件夹下吧。
新建两个文件夹mkdirbuild;mkdirinstall
解压一下:tarxzfv qt-everywhere-opensource-src-5.5.1.tar.gz
进入qt-everywhere-opensource-src-5.5.1文件夹
指定安装路径:
exportZYNQ_QT_BUILD=/home/xilinx/qt_zynq/build
exportZYNQ_QT_INSTALL=/home/xilinx/qt_zynq/install
exportPATH=$ZYNQ_QT_INSTALL/bin:$PATH
新建qmake.conf文件:
mkdir -pqtbase/mkspecs/arm-xilinx-linux-gnueabi-g++
vimqtbase/mkspecs/arm-xilinx-linux-gnueabi-g++/qmake.conf
把下面的代码复制进去:
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE= sublib
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
# modifications tog++.conf
QMAKE_CC = arm-linux-gnueabihf-gcc -lrt
QMAKE_CXX = arm-linux-gnueabihf-g++ -lrt
QMAKE_LINK = arm-linux-gnueabihf-g++ -lrt
QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++ -lrt
# modifications tolinux.conf
QMAKE_AR = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
QMAKE_NM = arm-linux-gnueabihf-nm -P
QMAKE_STRIP = arm-linux-gnueabihf-strip
load(qt_config)
新建qplatformdefs.h文件:
vim qtbase/mkspecs/arm-xilinx-linux-gnueabi-g++/qplatformdefs.h
把下面的代码复制进去:
#include" ../linux-g++/qplatformdefs.h"
新建qtsh.sh文件:
vim qtsh.sh
把下面的代码复制进去:
./configure-xplatform arm-xilinx-linux-gnueabi-g++ \
-opensource \
-confirm-license \
-nomake examples \
-skipqtquickcontrols \
-skip qtwebkit \
-skip qtwebchannel\
-skip qtactiveqt \
-skipqtandroidextras \
-skip qtdeclarative\
-skipqtimageformats \
-skip qtmacextras \
-skip qtserialport\
-skip qtx11extras \
-skip qtxmlpatterns\
-skipqtconnectivity \
-skip qtdoc \
-skip qtenginio \
-skipqtgraphicaleffects \
-skip qtlocation \
-skip qtmultimedia\
-skip qtquick1 \
-skip qtsensors \
-skip qttools \
-skipqttranslations \
-skip qtwayland \
-skip qtwebchannel\
-skip qtwebengine \
-skipqtwebkit-examples \
-skip qtwebsockets\
-skip qtwinextras \
-verbose \
-no-gif \
-no-libjpeg \
-no-mtdev \
-no-sql-db2 \
-no-sql-ibase \
-no-sql-mysql \
-no-xcb \
-qt-freetype \
-no-fontconfig \
-no-harfbuzz \
-no-xinput2 \
-no-xcb-xlib \
-no-pulseaudio \
-no-alsa \
-no-gtkstyle \
-no-nis \
-no-cups \
-no-iconv \
-no-icu \
-no-eglfs \
-no-openssl \
-prefix$ZYNQ_QT_INSTALL
指定交叉编译器:
exportCROSS_COMPILE= arm-linux-gnueabihf-
执行指令“sh./qtsh.sh”。
平台为ubuntu16.04。其它平台不保证能成功。
配置完成后,就来安装吧。输入:make&& make install
等待大约半个小时,就完成了。
完成后,打开qtcreator,在root用户下打开,就不会出现我下面出现的错误了。
打开qtcreator
tools->options
打开设置选项。
添加GCC编译器
名字为
GCC(/home/xilinx/cross_compile/gcc-linaro-5.5.0-2017.10-i686_arm-linux-gnueabihf/bin)
添加编译器路径
/home/xilinx/cross_compile/gcc-linaro-5.5.0-2017.10-i686_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
(按文字来,图文不太相符,下同)
点aplly应用。
转到QTversions标签
添加qmake文件。
我的路径在:/home/zynq/qt_zynq/install/bin/qmake
那是install目录中的。
点apply应用一下
转到kits标签
名称自己喜欢吧,设备类型选androiddevice,编译器选在compilers标签中设置的,QTversion选5.5.1吧,在QTversion标签上设置的,debug选systemgdb at /usr/bin/gdb,最后apply,如下图所示。
好了,到这里,开发环境算是搭好了。
做好以后,新建工程会有这样的选项:
创建或者打开之前创建过的hello程序测试一下。
在刚的那个helloproject中的右栏打开project标签
点addkit,选择刚创建的kit,我这里是QTE。
不知道为什么目录会是红色的,而且终端上也出现了一些提示信息。如果出问题再解决吧。
后来发现是没有创建这个目录所以显示红色。
下面重新编译一下。(这是后来放的图,重新编译后红色就没有了)
看起来好像也没什么错误。说明编译还是成功的。
同样也可以在这里切换编译环境:
从编译信息可以看出,编译的文件在原来hello工程的文件夹里面,会有一个专门的QTE的kit的文件夹里存放。
下面把hello文件发送到开发板上运行就可以了。
记住,QT的编译器是arm-linux-gnueabihf-g++,不要用arm-xilinx-linux-gnueabi-这个编译器,不然无法在xillinux中运行。
运行结果图:
至此,qt环境就构建完成了。