linux下QT开发学习

原创 2012年03月26日 15:59:58

   最近在linux下用QT搞串口开发,弄了好长时间老是出现运行一段时间就是死机了,开始以为是Linux版本低造成的我的采用的版本是2.26.27,网上查有串口黑洞的可能,于是就想把linux内核的版本给升级。我采用的开发板式SmartArm3250是周立功生产,顺便说一下周立功的售后的服务很是一般,刚接触板子遇到很多问题。以为这个板子公司在几年前就买了,当时提供的材料linux方面的都是很全。电话打过到技术支持想要一份人家说太大了不给传,让我找售后不过售后的态度到时蛮好的,给我传来一上午,结果速度太慢还是没有传过来,后来没有办法我花了30大洋在淘宝是买了份,钱一交20分钟就把材料给搞定了。

介绍一下对Smart3250 的研究,不知道为什么Smart3250要这么贵的价钱,提供可学习的资料也很少(仅限与Linuxwince的内容我没有关注)。参考linux的手册就能把linuxSmart3250跑起来。以前几乎没有搞过ARM linux嵌入式的界面开发,对QT有点了解,知道能在linux下做界面,搞嵌入式一直是在借的一块同事买的mini2440的核心板自己做的开发板上搞。这次要搞界面所以开始就想的在Qtopia上搞开发和研究。研究到最后发现厂商所提供的Qtopia其实一点也用不上。

简单介绍下QT技术以下都是个理解。

1.qt qte qtopia qtevery  qteqt早起提供的嵌入式开发平台, qtopia是利用QTE的技术开发实现的,其实利用在以linux为平台的移动终端上的,提供很多功能就像现在其他手机平台一样如 andriod wince 等,可以利用QTE编写的程序中放到qtopia的环境下来运行。对于普通嵌入式开发不需要在其上面,直接在LINUX上运行就可以了。Qt4.6版本以后就不分QTE只要用qtevery 就可以编译出X11 armlinux下运行平台。

2.Qt环境搭建

可以查考 http://bbs.ednchina.com/BLOG_ARTICLE_270788.HTM 这是以前4.5的版本按照上面搭建一边后能很好了解qt的运行环境。

3.QT环境开工具

     用QT提供qt-creator windows linux下都可以使用。在windows可以用.net开发工具开发,linux下可以用ECLIPSE开发,qt的网站上都提供相应的开发插件。

4.QTqmake 

Qmake 是生成.pro工程文件以及Makefile文件。在Makefilelinux非常重要也是一门学问,有了Makefile就能生成可执行文件了。 Qmake -v 来查看当前采用是哪个qt的链接库以及采用的是linux gcc 还是arm-linux-gcc。如果你编写的程序中应用到 xml sqllit 等,用Qmake -project Qmake make qt编译标准三板斧是编译通不过的,有两种方法可以解决。

第一修改MakeFile 以用xml为例:红色部分为添加

#############################################################################

# Makefile for building: xsnetgps

# Generated by qmake (2.01a) (Qt 4.6.3) on: Tue Mar 13 15:26:06 2012

# Project:  xsnetgps.pro

# Template: app

# Command: /host/mylinux/QT/qt-embedded-4.6.3-arm/bin/qmake -unix -o Makefile xsnetgps.pro

#############################################################################

####### Compiler, tools and options

CC            = arm-vfp-linux-gnu-gcc

CXX           = arm-vfp-linux-gnu-g++

DEFINES       = -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED

CFLAGS        = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)

CXXFLAGS      = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)

INCPATH       = -I/host/mylinux/QT/qt-embedded-4.6.3-arm/mkspecs/qws/linux-arm-g++ -I. -I/host/mylinux/QT/qt-embedded-4.6.3-arm/include/QtCore -I/host/mylinux/QT/qt-embedded-4.6.3-arm/include/QtNetwork -I/host/mylinux/QT/qt-embedded-4.6.3-arm/include/QtGui -I/host/mylinux/QT/qt-embedded-4.6.3-arm/include/QtXml -I/host/mylinux/QT/qt-embedded-4.6.3-arm/include -I.  

I.

LINK          = arm-vfp-linux-gnu-g++

LFLAGS        = -Wl,-O1 -Wl,-rpath,/host/mylinux/QT/qt-embedded-4.6.3-arm/lib

LIBS          = $(SUBLIBS)  -L/host/mylinux/QT/qt-embedded-4.6.3-arm/lib -lQtXml -L/usr/local/tslib/lib -L/host/mylinux/QT/qt-embedded-4.6.3-arm/lib -lQtGui -lQtNetwork -lQtCore -lpthread 

第二是修改.pro

 TEMPLATE = app

TARGET = xsnetgps

QT += core \

    gui \

    xml 

HEADERS += linuxcom/posix_qextserialport.h \

    linuxcom/qextserialbase.h \

corfirm.h \

   5.qt学习

个人的学习经历,其实在几年前就了解过QT但都没有实际来做,没有做过之前总是云里雾里的很多东西没有搞明白,不管学习什么东西实践最重要,首先是对QT环境的搭建如果你是在搞Windows下的QT开发,下载一个安装包下一步下一步就完成。如果是搞linux下的嵌入式开发环境搭建,按这篇文章http://bbs.ednchina.com/BLOG_ARTICLE_270788.HTM搭建,虽然是QT4.5的版本,但是这个搭建以后对qt以后的版本搭建应该不会有问题了。而且对QT结构能有大体上的了解。

   6.具体的qt实际编程,先在windowsqt-creator简单做一个小程序,实战一下。看看qt提供的Demo对有个初步的了解再系统学习一下,建议看《C++ GUI Qt 4编程(第二版)》

而且这个书源码可以下载参考。  

有时间把如何把smartarm3250内核升级到linux2.6.39.2整理一下。

Linux下QT开发的计算器

  • 2009年05月24日 10:25
  • 282KB
  • 下载

嵌入式linux下QT开发的wifi源码

  • 2016年11月25日 10:27
  • 1.06MB
  • 下载

linux下Qt开发环境中qwt库的安装与使用

题外话:   这学期软件实习作业是,给定三个顶点,画出三角形以及其内切圆、外接圆。并且要绘制坐标轴,实现缩放等功能。   由于mfc我之前已经使用过,这次想尝试下新鲜的方法,再加上我是linux环...

Linux下用QT开发音乐播放器

  • 2015年06月05日 21:18
  • 1.49MB
  • 下载

Linux下Qt开发环境的搭建

之前一直使用Ubuntu软件中心中的Qt4开发Qt的应用程序,现在转到Linux下来做Qt5开发,但是必须从Qt官网上面下载对应的安装包,配置起来相对麻烦一些,这里介绍整个开发流程。   首先,在...

嵌入式linux下QT开发GPRS源码

  • 2016年11月25日 10:22
  • 1.06MB
  • 下载

linux下qt开发基于v4l摄像头步骤

  • 2010年04月23日 23:30
  • 23KB
  • 下载

linux下一致性网关测试程序qt开发环境搭建

首先安装ubuntu12.04,这个不用说了,用压缩包里的

Linux下移植pjsip,使用QT开发

Linux下移植pjsip,使用QT开发VOIP电话
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux下QT开发学习
举报原因:
原因补充:

(最多只允许输入30个字)