QT 5.3开发及移植

QT 5.3开发及移植
时间:2016-04-01 作者:华清远见

1、 主机开发环境说明

1) Linux为华清远见开发环境V12B(Ubuntu 12.04)

2) 主机gcc版本为gcc-4.6.3

3) 交叉工具链版本为arm-none-linux-gnueabi-gcc-4.6.4

工具链使用需要统一,可根据实际情况切换工具链版本

2、 主机Qt开发环境搭建

1) 下载qt-opensource-linux-x64-5.4.2.run并安装到Linux任意目录下

下载路径:

http://www.qt.io/download-open-source/#section-2

这个网站是Qt官方下载界面提供所有平台下载需求本例实现linux下开发所以下载linux版本

2) 安装Qt开发环境

执行:

$ chmod 777 ./ qt-opensource-linux-x64-5.4.2.run

$ ./ qt-opensource-linux-x64-5.4.2.run

执行上述操作后,会弹出如下界面,按提示安装即可。

安装后开发界面如下:

3、 Qt-everywhere移植

1) 下载源码qt-everywhere-opensource-src-5.3.1.tar.xz到Linux任意目录下

2)下载路径:

http://www.qt.io/download-open-source/#section-2

3) 解压源码

执行:

$ tar xvf qt-everywhere-opensource-src-5.3.1.tar.xz

4) 修改源码

修改源码中qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf内容,修改后在生成的qmake默认配置中工具链为我们指定的工具链。

13 # modifications to g++.conf

14 QMAKE_CC = arm-linux-gnueabi-gcc

15 QMAKE_CXX = arm-linux-gnueabi-g++

16 QMAKE_LINK = arm-linux-gnueabi-g++

17 QMAKE_LINK_SHLIB = arm-linux-gnueabi-g++

18

19 # modifications to linux.conf

20 QMAKE_AR = arm-linux-gnueabi-ar cqs

21 QMAKE_OBJCOPY = arm-linux-gnueabi-objcopy

22 QMAKE_NM = arm-linux-gnueabi-nm -P

23 QMAKE_STRIP = arm-linux-gnueabi-strip

13 # modifications to g++.conf

14 QMAKE_CC = arm-none-linux-gnueabi-gcc

15 QMAKE_CXX = arm-none-linux-gnueabi-g++

16 QMAKE_LINK = arm-none-linux-gnueabi-g++

17 QMAKE_LINK_SHLIB = arm-none-linux-gnueabi-g++

18

19 # modifications to linux.conf

20 QMAKE_AR = arm-none-linux-gnueabi-ar cqs

21 QMAKE_OBJCOPY = arm-none-linux-gnueabi-objcopy

22 QMAKE_NM = arm-none-linux-gnueabi-nm -P

23 QMAKE_STRIP = arm-none-linux-gnueabi-strip

5) 拷贝configure.sh到解压后的源码目录下

6) 配置源码

创建configure.sh

在文件中添加:

./configure -prefix /opt/qt -release \

-opensource -qt-libpng -qt-libjpeg -plugin-sql-sqlite -widgets -qt-sql-sqlite \

-make libs -no-cups -no-nis -no-iconv -no-dbus -no-openssl -no-iconv \

-no-accessibility -no-sse2 -silent -xplatform \

linux-arm-gnueabi-g++ -nomake tools -nomake examples -nomake tests \

-qt-freetype -no-glib -strip -linuxfb -plugindir \

/opt/qt/plugin

这个配置与前几个版本有一定的区别,在以前版本里多数会有一个tslib的选项,且在移植linux内核触摸屏驱动时如果是多点触摸需要修改为单点触摸,在这个版本tslib和修改触摸屏驱动已经没有必要了,使用Qt默认触摸屏插件就能完美的支持当下使用最多的多点式电容触摸屏。

执行:

$ chmod 777 configure.sh

$ ./configure.sh

输入”yes”后按回车继续

属性如下内容便是配置成功

7) 编译安装源码

执行:

添加工具链路径到环境变量中,本例使用工具链版本为4.6.4

$ export PATH=$PATH: /usr/local/toolchain/toolchain-4.6.4/bin/

$ make

编译过程中没有提示错误即可实行下边操作

$ sudo make install

安装后会在/opt/目录下生成qt目录。

8) 根文件系统修改

首先需要一个可以使用的根文件系统,标准Linux根文件系统即可。

解压标准根文件rootfs.tar.xz到Linux下/source/目录下

$ tar xvf rootfs.tar.xz -C /source

将上文编译好的qt库拷贝到根文件系统中

$ cp /opt/qt /source/rootfs -a

修改根文件系统中的profile文件添加如下内容:

$ vi /source/rootfs/etc/profile

添加如下内容:

export QTDIR=/opt/qt

export PATH=$QTDIR:$PATH

export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugin

export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0

export QT_QPA_FONTDIR=$QTDIR/lib/fonts

export TSDEVICE=/dev/input/event4

export QT_QPA_GENERIC_PLUGINS=evdevtouch:$TSDEVICE

export QWS_MOUSE_PROTO=evdevtouch:$TSDEVICE

export set QWS_DISPLAY=LinuxFb:/dev/fb0

#export set QWS_SIZE=800x600

export set QWS_SIZE=1024x600

export set QWS_DISPLAY="LinuxFb:mmWidth300:mmHeight400:0"

export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/

export set

LD_LIBRARY_PATH=$QTDIR:$QTDIR/lib/:$QT_QPA_PLATFORM_PLUGIN_PATH:$QT_QPA_FONTDIR:$LD_LIBRARY_PATH


4、 Qt-Creater设置

1) 打开qtcreater

按照前文安装,qtcreater所在路径为:/home/linux/Qt5.4.2/Tools/QtCreator/bin

执行

$ cd /home/linux/Qt5.4.2/Tools/QtCreator/bin

$ ./qtcreater

在主界面中从菜单栏点击”工具”à”选项”

2) 配置qt版本

点击选项界面左侧“构建和运行”后选择”Qt Versions”选项卡最后点击右侧”添加”按钮

选择上节编译好的Qt-everywherezh中qmake的路径,本文路径为/opt/qt/bin/,选择后点击”打开”按钮

手动设置下会出现一条新的配置,然后点击”OK”按钮

3) 配置编译器

点击选项界面左侧“构建和运行”后选择”编译器”选项卡最后点击右侧”添加”按钮

点击”添加”后选择”GCC”

点击”浏览“

选择GCC路径,这里选择交叉工具链路径中g++路径,华清远见提供开发环境g++路径为/usr/local/toolchain/toolchain-4.6.4/bin/arm-none-linux-gnueabi-g++,选择后点击”OK”

4) 配置开发套件

点击选项界面左侧“构建和运行”后选择”构建套件(Kit)”选项卡最后点击右侧”添加”按钮

按图选择相应选择后,点击”Apply”然后点击”OK”关闭选项窗口


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值