首先讲讲为什么要用Qt这个东东吧!用了以后才知道,这门语言真的很不错,我权当把它当成了类库来用,Linux本身的C语言编程是很烦的,比如说串口编程,虽说C编程也不难,但是使用Qt这种封装的类库来操作的话,会少很多的bug,更值得一提的是GUI编程,Qt提供了丰富的GUI控件,对于制作嵌入式GUI来说比较适合!所以我也就跟大家一样,使用Qt来开发嵌入式软件吧!

  在之前我的博客里面已经有了一片文章关于交叉工具链的,在搭建好了交叉工具链以后,咱们只需要两个download的包就可以开工了,今天的主题是Qt环境的搭建包括环境变量的设置,Okay,Lets go!

  这两个包分别是qt-everywhere-opensource-src-4.8.0.tar.gz位于http://download.qt-project.org/archive/qt/4.8/4.8.0/网页下,还有一个tslib-1.4.bar.gz位于http://ishare.iask.sina.com.cn/f/21567219.html网页下,第一步当然是有耐心的下下来!

step1->搞定tslib:  

  在继续写下去之前还是介绍一下我的环境吧:

  OS:Ubuntu 12.04LTS

  Board: Mini2440(s3c2440 arm9)

  Gcc Version:4.6.3

  基本上参数就是这样。

  tslib是电阻式触摸屏用于校准的一个软件库,是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。因此这里先编译安装tslib,这样在后面编译Qt的时候才能打包编译进去。首先需要检查一下软件是否安装,

  sudo apt-get install automake

  sudo apt-get install autogen

  sudo apt-get install autoconf

  这三个一定要检查,不然有可能编译出错!

  # tar -zxvf tslib-1.4.tar.gz   ---因为下面prefix 指定安装在/usr/local下,这个文件 不能放在/usr/local下面!可放在其它目录如/home.

  # cd tslib

  # ./autogen.sh  

  #./configure --host=arm-linux ac_cv_func_malloc_0_nonnull=yes --cache-file=arm-linux.cache -prefix=/usr/local/tslib

  # make

  # make install

  -prefix=/usr/local/tslib是指定安装路径,其实包括下文的安装配置,路径都可以不指定,默认就是安装到/usr/local/目录下.

  将交叉编译的tslib安装到开发板上其实就是拷贝相关的文件并添加系统环境变量而已,所以相对操作较为简单,主要的就是需要找对目录就行。 按照上面的操作方法,

交叉编译安装后的文件在/usr/local/tslib目录下,因此需要拷贝的文件如下:

  1. /usr/local/tslib/lib文件下除去pkgconfig目录外其他所有文件拷贝到开 发板/lib目录下

  2. /usr/local/tslib/etc下的ts.conf拷贝到开发板的/etc下,在复制对应 目录之前修改文件如下,也可以复制完成后修改。

  3. /usr/local/tslib/bin下的所有文件拷贝到开发板/tslib下;

  下面是ts.conf文件的第一行与第二行

  # Uncomment if you wish to use the linux input layer event interface

  # module_raw input 去掉

  # module_raw input前面的注释,一定要注意中间的空格也去掉,module顶格。 注意:

  运行./ ts_calibrate时可能会出现selected device is not a touchscreen I understand错误,这时只需要将ts.conf文件中的#module_raw h3600 的注释符号去掉(左边不能留空格).

  最后添加环境变量,通过超级终端在开发板系统中添加环境变量,可以在开发板文件系统的/etc/profile(nfs 挂载时是/opt/mini2440/root_nfs/etc/profile)文件里添加。

  export TSLIB_TSDEVICE=/dev/input/ts0 export TSLIB_CONFFILE=/etc/ts.conf

  export TSLIB_PLUGINDIR=/lib/ts

  export TSLIB_CALIBFILE=/etc/pointercal

  export TSLIB_CONSOLEDEVICE=none

  export TSLIB_FBDEVICE=/dev/fb0

   说明: TSLIB_TSDEVICE->触摸屏设备文件名。 TSLIB_CALIBFILE->校准的数据文件,由ts_calibrate校准程序生成。 SLIB_CONFFILE->配置文件名。 TSLIB_PLUGINDIR->插件目录 TSLIB_CONSOLEDEVICE->控制台设备文件名 TSLIB_FBDEVICE->设备名 以上环境变量在实际开发中的实际配置可以根据实际情况决定。而这些指定的设备节点一定要和你的开发板上的/dev目录下的设备节点相对应。 最后运行测验程序 ts_calibrate 进行校验 ts_test 进行测试。

step2->编译qt for embedded

  这个配置很长很烦,改天补上!

step3->配置环境变量

  首先先跟大家介绍一下我现在机器上的软件,ubuntu 12.04自带qt4库,在安装好了qt-creator后会有另外一个qmake,这样以来,有冲突啊,首先给大家看看我们的qt-creator在哪里。

  可见/user/bin下面存在一个,这个是供qt-creator调用的,这里的编译出来的东西是在i386上面跑的,可以使用qmake -v查看当前使用的qmake是哪个,使用的库是哪个?

  那我们要编译源文件到板子上去跑,用这个肯定是不行的,但是我们的Trolltech包里面有qmake,在哪儿呢?去看看吧!就在这里:

  

  

Qt开发环境的搭建的更多相关文章

  1. 嵌入式Qt开发环境的搭建详解

    一.嵌入式Qt开发环境的搭建前奏 1.下载arm-linux-gcc-4.4.3-20100728.tar.gz 2.下载qt-everywhere-opensource-src-4.8.5.tar. ...

  2. Windows平台下Qt开发环境的搭建

    Qt 是采用开源和商用双协议发布的开放源代码的图形开发类库,现在很多图形化的开源软件都使用了Qt. 下载地址:http://qt-project.org/downloads 1. 下载安装包 你可以从 ...

  3. Ubuntu 12.04下搭建Qt开发环境

    http://download.qt.io/official_releases/qt/ Ubuntu 环境下Gtk与Qt编译环境安装与配置(系统环境是Ubuntu 12.04) 1.配置基础开发环境G ...

  4. 第一章 搭建Qt开发环境

    第一章 搭建Qt开发环境 1.到http://download.qt-project.org/archive/上下载Qt的源码包.我下载的是qt-everywhere-opensource-src-4 ...

  5. Unix/Linux环境C编程入门教程(20) 搭建基于Mac的 Xcode 与 QT 开发环境

    1.启动 Vmware,如果没有 VMware 的同学,请看前面我们搭建 VMware 的视频 2.打开虚拟机以后,出现虚拟机界面 3 新建一个虚拟机 4 选择自定义,单击下一步 5 选择默认的 VM ...

  6. qt学习教程1.qt开发环境搭建

    qt学习教程1.qt开发环境搭建 首先下载qt 下载地址:http://download.qt.io/archive/qt/ 此教程使用的版本为5.1.1 下载好后,打开安装包,然后点下一步 选择一个 ...

  7. Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程

     Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程 一.准备工具: QT-SDK for Windows:http://get.qt.nokia.com/qtsdk/qt-sd ...

  8. windows下VisualStudio和QtCreator搭建Qt开发环境

    一.简介 集成开发平台IDE都有各自的长处,编写Qt程序可根据自己的喜好来选择相应的IDE.下述文章都是装载博友的文章,其中有很多细节还得自己调整. 二.详解 1.VisualStudio搭建Qt开发 ...

  9. Zynq7000开发系列-6(QT开发环境搭建:Ubuntu、Zynq)

    操作系统:Ubuntu14.04.5 LTS 64bit Qt:Qt 5.4.2 (qt-opensource-linux-x64-5.4.2.run.qt-everywhere-opensource ...

随机推荐

  1. asp.net website 单独编译某个页面,连带编译app_code

    选中某一个页面,然后右键build page

  2. javascript前端如何使用google-protobuf

    1.首先下载google的protobuf的compiler,通过编译器可以将.proto文件转换为想要的语言文件. 下载地址:https://repo1.maven.org/maven2/com/g ...

  3. 分布式memcache

    使用多台memchache服务器,形成memchache集群.目的是为了提升memchache所能使用的硬件资源数量.多台memcached服务器之间不相互通讯.分布式算法由客户端实现,(php来说, ...

  4. js 判断设备的来源

    function deviceType(){ var ua = navigator.userAgent; var agent = ["Android", "iPhone& ...

  5. Hibernate框架学习(七)——多对多关系

    一.关系表达 1.表中的表达 2.实体中的表达 3.orm元数据中的表达 在User.hbm.xml中添加: 在Role.hbm.xml中添加(与上相反): 二.操作关联属性 1.保存员工及角色 pu ...

  6. Android和IOS等效MD5加密

    最近在Android和IOS上都需要对用户的某些输入进行简单的加密,于是采用MD5加密方式. 首先将目的字符串加密一次,获得32位字符串 然后将32位字符串拆为2段,分别加密1次 最后将加密后的2段拼 ...

  7. SecurityManager USE

    import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io. ...

  8. Comparison of programming paradigms

    Main paradigm approaches[edit] The following are widely considered the main programming paradigms, a ...

  9. ajax第一天总结

    AJAX开发步骤 步一:创建AJAX异步对象,例如:createAJAX() 步二:准备发送异步请求,例如:ajax.open(method,url) 步三:如果是POST请求的话,一定要设置AJAX ...

  10. K3内部表数据名称

    在后台数据库ICClassType表中,字段FID<0的是老单,FID>0的是新单.----------------系统设置------------------------FStatus: ...