QT 5.3开发及移植
2016-08-02 11:24
309 查看
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
执行上述操作后,会弹出如下界面,按提示安装即可。
![](http://top.embedu.org/uploads/allimg/1604/11-160401103431225.jpg)
![](http://top.embedu.org/uploads/allimg/1604/11-160401103441361.jpg)
![](http://top.embedu.org/uploads/allimg/1604/11-160401103451439.jpg)
![](http://top.embedu.org/uploads/allimg/1604/11-160401103503Z6.jpg)
![](http://top.embedu.org/uploads/allimg/1604/11-160401103514258.jpg)
![](http://top.embedu.org/uploads/allimg/1604/11-160401103525E9.jpg)
安装后开发界面如下:
![](http://top.embedu.org/uploads/allimg/1604/11-160401103540221.jpg)
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”后按回车继续
![](http://top.embedu.org/uploads/allimg/1604/11-160405101139415.jpg)
属性如下内容便是配置成功
![](http://top.embedu.org/uploads/allimg/1604/11-16040510115A20.jpg)
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
在主界面中从菜单栏点击”工具”à”选项”
![](http://top.embedu.org/uploads/allimg/1604/11-160406113949115.jpg)
2) 配置qt版本
点击选项界面左侧“构建和运行”后选择”Qt Versions”选项卡最后点击右侧”添加”按钮
![](http://top.embedu.org/uploads/allimg/1604/11-160406114005114.jpg)
选择上节编译好的Qt-everywherezh中qmake的路径,本文路径为/opt/qt/bin/,选择后点击”打开”按钮
![](http://top.embedu.org/uploads/allimg/1604/11-16040611401bX.jpg)
手动设置下会出现一条新的配置,然后点击”OK”按钮
![](http://top.embedu.org/uploads/allimg/1604/11-160406114032X6.jpg)
3) 配置编译器
点击选项界面左侧“构建和运行”后选择”编译器”选项卡最后点击右侧”添加”按钮
![](http://top.embedu.org/uploads/allimg/1604/11-16040611404A19.jpg)
点击”添加”后选择”GCC”
![](http://top.embedu.org/uploads/allimg/1604/11-160406114102516.jpg)
点击”浏览“
![](http://top.embedu.org/uploads/allimg/1604/11-16040611411TX.jpg)
选择GCC路径,这里选择交叉工具链路径中g++路径,华清远见提供开发环境g++路径为/usr/local/toolchain/toolchain-4.6.4/bin/arm-none-linux-gnueabi-g++,选择后点击”OK”
![](http://top.embedu.org/uploads/allimg/1604/11-160406114135225.jpg)
![](http://top.embedu.org/uploads/allimg/1604/11-1604061141455c.jpg)
4) 配置开发套件
点击选项界面左侧“构建和运行”后选择”构建套件(Kit)”选项卡最后点击右侧”添加”按钮
![](http://top.embedu.org/uploads/allimg/1604/11-16040611420M18.jpg)
按图选择相应选择后,点击”Apply”然后点击”OK”关闭选项窗口
时间: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
执行上述操作后,会弹出如下界面,按提示安装即可。
![](http://top.embedu.org/uploads/allimg/1604/11-160401103431225.jpg)
![](http://top.embedu.org/uploads/allimg/1604/11-160401103441361.jpg)
![](http://top.embedu.org/uploads/allimg/1604/11-160401103451439.jpg)
![](http://top.embedu.org/uploads/allimg/1604/11-160401103503Z6.jpg)
![](http://top.embedu.org/uploads/allimg/1604/11-160401103514258.jpg)
![](http://top.embedu.org/uploads/allimg/1604/11-160401103525E9.jpg)
安装后开发界面如下:
![](http://top.embedu.org/uploads/allimg/1604/11-160401103540221.jpg)
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”后按回车继续
![](http://top.embedu.org/uploads/allimg/1604/11-160405101139415.jpg)
属性如下内容便是配置成功
![](http://top.embedu.org/uploads/allimg/1604/11-16040510115A20.jpg)
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
在主界面中从菜单栏点击”工具”à”选项”
![](http://top.embedu.org/uploads/allimg/1604/11-160406113949115.jpg)
2) 配置qt版本
点击选项界面左侧“构建和运行”后选择”Qt Versions”选项卡最后点击右侧”添加”按钮
![](http://top.embedu.org/uploads/allimg/1604/11-160406114005114.jpg)
选择上节编译好的Qt-everywherezh中qmake的路径,本文路径为/opt/qt/bin/,选择后点击”打开”按钮
![](http://top.embedu.org/uploads/allimg/1604/11-16040611401bX.jpg)
手动设置下会出现一条新的配置,然后点击”OK”按钮
![](http://top.embedu.org/uploads/allimg/1604/11-160406114032X6.jpg)
3) 配置编译器
点击选项界面左侧“构建和运行”后选择”编译器”选项卡最后点击右侧”添加”按钮
![](http://top.embedu.org/uploads/allimg/1604/11-16040611404A19.jpg)
点击”添加”后选择”GCC”
![](http://top.embedu.org/uploads/allimg/1604/11-160406114102516.jpg)
点击”浏览“
![](http://top.embedu.org/uploads/allimg/1604/11-16040611411TX.jpg)
选择GCC路径,这里选择交叉工具链路径中g++路径,华清远见提供开发环境g++路径为/usr/local/toolchain/toolchain-4.6.4/bin/arm-none-linux-gnueabi-g++,选择后点击”OK”
![](http://top.embedu.org/uploads/allimg/1604/11-160406114135225.jpg)
![](http://top.embedu.org/uploads/allimg/1604/11-1604061141455c.jpg)
4) 配置开发套件
点击选项界面左侧“构建和运行”后选择”构建套件(Kit)”选项卡最后点击右侧”添加”按钮
![](http://top.embedu.org/uploads/allimg/1604/11-16040611420M18.jpg)
按图选择相应选择后,点击”Apply”然后点击”OK”关闭选项窗口
![](http://top.embedu.org/uploads/allimg/1604/11-160406114225293.jpg)
相关文章推荐
- Qt项目中include了fstream,iostream头文件,但是还是会报:error C2653: “ios”: 不是类或命名空间名称
- Qt Creator 提供的默认基类只有三种
- Qt开发环境下载和安装
- Ubuntu-14.04-QT开发环境搭建-(一)
- 解决使用Qt creator时出现Cannot overwrite file ..Permission denied
- pyqt 弹出对话框
- 【Qt笔记】自定义可编辑模型
- 【Qt笔记】使用拖放
- 【Qt笔记】自定义拖放数据
- 【Qt笔记】剪贴板
- Qt 中界面类名的修改
- Qt 设置全局窗口,
- QTP 无法识别web对象原因
- Qt自定义按钮
- PyQt5教程-09-事件与信号
- Qt 中的事件简述
- vs2013-qt5编译兼容xp时常遇问题
- Qt 中的字体
- Qt4项目迁移到Qt5问题:greaterThan(QT_MAJOR_VERSION, 4): QT += widgets .
- Qt4项目迁移到Qt5问题:greaterThan(QT_MAJOR_VERSION, 4): QT += widgets .