Linux开发二十二_Qt移植
来源:互联网 发布:手机淘宝如何发布二手 编辑:程序博客网 时间:2024/06/06 03:06
Linux开发二十二
Qt移植
象棋小子 1048272975
Qt是跨平台的应用程序和UI框架,它包括跨平台类库、集成开发工具和跨平台IDE。使用Qt只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。
1. Qt编译
从Qt官网下载最新的Qt5.8源码,可以在源码包中查看README文件等,确定编译、安装的步骤。
从README文件可以知道编译Qt5.8要求主机端编译器以及交叉编译器支持c++11的标准。而只有g++ 4.8以上的版本才完整支持c++11,在编译Qt5.8之前,需保证主机端编译器和交叉编译器已经更新或安装了g++ 4.8以上的版本。
在/qtbase/mkspecs/linux-arm-gnueabi-g++目录下,需要修改qmake.conf文件,加入下面选项,并修改相应的交叉编译工具。
QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS_RELEASE +=-O2-march=armv5te
QMAKE_CXXFLAGS_RELEASE +=-O2 -march=armv5te
#modifications to g++.conf
QMAKE_CC = arm-linux-gcc
QMAKE_CXX = arm-linux-g++
QMAKE_LINK = arm-linux-g++
QMAKE_LINK_SHLIB = arm-linux-g++
#modifications to linux.conf
QMAKE_AR = arm-linux-ar cqs
QMAKE_OBJCOPY = arm-linux-objcopy
QMAKE_NM = arm-linux-nm -P
QMAKE_STRIP = arm-linux-gnueabi-strip
/qtdeclarative/examples/quick/quick.pro,注释掉qtHaveModule(quickwidgets):SUBDIRS += quickwidgets, quickwidgets例程需要opengl的支持,这个例程会编译失败。
# qtHaveModule(quickwidgets): SUBDIRS +=quickwidgets
./configure –h查看配置选项,Qt5.8自身支持触摸屏,可以无需其它的触摸屏库(如tslib)。
./configure-prefix /usr/Qt5.8 -confirm-license -opensource -release -make libs -xplatformlinux-arm-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-xrender-no-separate-debug-info -make examples -nomake tools -nomake tests -no-iconv
make –j4,根据机器配置,编译需一个多小时。
make install,安装Qt,在/usr/Qt5.8目录下有相应的examples、lib、plugins等目录。
2. 环境变量
把Qt5.8安装目录下examples、lib、plugins目录拷贝到板端/usr/Qt5.8。使用Qt,系统必须知道Qt的位置,配置等等,在/etc/profile文件中加入Qt的环境变量。
QTDIR=/usr/qt5.8
export QT_QPA_FONTDIR=$QTDIR/lib/fonts
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0
:size=800x480:mmSize=800x480:offset=0x0
export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event1
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib
export LD_LIBRARY_PATH
3. 测试
板端启动系统,进入/usr/Qt5.8目录,运行Qt测试代码。
/usr/Qt5.8/examples/touch/pinchzoom # ./pinchzoom
/usr/Qt5.8/examples/svg/embedded/fluidlauncher # ./fluidlauncher
4. 附录
https://pan.baidu.com/s/1slczwhJ
bootloader源码以及使用说明
https://pan.baidu.com/s/1eRDJtNs
Qt5.8官网源码
https://pan.baidu.com/s/1nuGmSqt
本系列例程的根文件系统
https://pan.baidu.com/s/1i5btLGT
opev3.2.0官网源码
https://pan.baidu.com/s/1pLpuHw3
yaffs官网源码
https://pan.baidu.com/s/1bpkZynt
busybox-1.26.2官网源码
https://pan.baidu.com/s/1i4EtjfR
tslib官网源码
https://pan.baidu.com/s/1i5MGRhb
mplayer-1.3.0官网源码
https://pan.baidu.com/s/1sl0fXlr
基于S3C2416修改的linux-4.10.10源码
- Linux开发二十二_Qt移植
- Linux开发二十一_tslib移植
- Linux开发二十三_opencv移植
- Linux开发二十四_mplayer移植
- 深入浅出 - Android系统移植与平台开发(十二) - Sensor HAL框架分析之二
- 深入浅出 - Android系统移植与平台开发(十二) - Sensor HAL框架分析之二
- 深入浅出 - Android系统移植与平台开发(十二) - Sensor HAL框架分析之二
- 深入浅出 - Android系统移植与平台开发(十二) - Sensor HAL框架分析之二
- 深入浅出 - Android系统移植与平台开发(十二) - Sensor HAL框架分析之二
- 深入浅出 - Android系统移植与平台开发(十二) - Sensor HAL框架分析之二
- 深入浅出 - Android系统移植与平台开发(十二) - Sensor HAL框架分析之二
- Qt基础 03_Qt对话框(二)
- ARM+LINUX移植攻略(二) U-boot-2009.08移植TE2440II开发板--移植步骤
- Linux常用命令(二十二) - chmod
- linux移植篇二
- Linux开发十二_i2c驱动
- linux-android移植开发
- C语言开发总结(二十二)
- Linux开发二十_触摸屏驱动
- 世有不公之法,我们是安于循守,还是且改且守,待其功成。或是即刻起而破之。
- 带您了解mysql CONCAT()函数
- Linux开发二十一_tslib移植
- C++ explicit关键字的详细介绍
- Linux开发二十二_Qt移植
- mybits配置条件
- 二. Scala编程之简介
- bootstrap日期时间选择器datepicker的使用
- 学生信息的添加与查询 oj
- Linux开发二十三_opencv移植
- hdu4717-(The Moving Points)
- 计算机基础之牛客网刷题第五篇
- 逻辑运算符