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源码

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 丈夫欠下的债妻子怎么办 丈夫偷妻子的钱怎么办 刷信用卡显示不允许降级交易怎么办 每次月经头几天下不来怎么办 邮箱和安全问题都忘记了怎么办 大疆air无人机芯片过热怎么办 脸上反复冒痘痘闭口粉刺怎么办? 手被火烧伤起泡怎么办 手被打火机烧了怎么办 小孩手被火烧了怎么办 手指被火烧伤了怎么办 别人砸坏我家门怎么办 逆水寒经验满了怎么办 tcl魔环显示离线怎么办 城管执法局执法不公平怎么办 人被骗去搞传销怎么办 进了传销想出来怎么办 武汉江夏健康证怎么办 健康证条子掉了怎么办 送外卖的健康证怎么办 美团没有健康证怎么办 健康证不给补办怎么办 南京怎么办健康证去哪里办 浙江横店健康证怎么办 办健康证查乙肝怎么办 餐饮健康证丢了怎么办 办健康证吃了东西怎么办 吃宵夜脸肿了怎么办 晚上不吃宵夜饿了怎么办 办健康证身份证丢了怎么办 宁波二院怎么办健康证 健康证和培训证怎么办 楼下烧煤炉呛人怎么办 衣服染了笔渍怎么办 济宁二院怎么办健康证 刚按揭车的想卖怎么办 房子已过户银行不放贷怎么办 办房贷信用逾期给拒了怎么办 二手房过户了房贷下不来怎么办 没有房证的房子买卖怎么办 老公失踪房产证要他签字怎么办