Qt开发环境的搭建
首先讲讲为什么要用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开发环境的搭建的更多相关文章
- 嵌入式Qt开发环境的搭建详解
一.嵌入式Qt开发环境的搭建前奏 1.下载arm-linux-gcc-4.4.3-20100728.tar.gz 2.下载qt-everywhere-opensource-src-4.8.5.tar. ...
- Windows平台下Qt开发环境的搭建
Qt 是采用开源和商用双协议发布的开放源代码的图形开发类库,现在很多图形化的开源软件都使用了Qt. 下载地址:http://qt-project.org/downloads 1. 下载安装包 你可以从 ...
- Ubuntu 12.04下搭建Qt开发环境
http://download.qt.io/official_releases/qt/ Ubuntu 环境下Gtk与Qt编译环境安装与配置(系统环境是Ubuntu 12.04) 1.配置基础开发环境G ...
- 第一章 搭建Qt开发环境
第一章 搭建Qt开发环境 1.到http://download.qt-project.org/archive/上下载Qt的源码包.我下载的是qt-everywhere-opensource-src-4 ...
- Unix/Linux环境C编程入门教程(20) 搭建基于Mac的 Xcode 与 QT 开发环境
1.启动 Vmware,如果没有 VMware 的同学,请看前面我们搭建 VMware 的视频 2.打开虚拟机以后,出现虚拟机界面 3 新建一个虚拟机 4 选择自定义,单击下一步 5 选择默认的 VM ...
- qt学习教程1.qt开发环境搭建
qt学习教程1.qt开发环境搭建 首先下载qt 下载地址:http://download.qt.io/archive/qt/ 此教程使用的版本为5.1.1 下载好后,打开安装包,然后点下一步 选择一个 ...
- Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程
Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程 一.准备工具: QT-SDK for Windows:http://get.qt.nokia.com/qtsdk/qt-sd ...
- windows下VisualStudio和QtCreator搭建Qt开发环境
一.简介 集成开发平台IDE都有各自的长处,编写Qt程序可根据自己的喜好来选择相应的IDE.下述文章都是装载博友的文章,其中有很多细节还得自己调整. 二.详解 1.VisualStudio搭建Qt开发 ...
- 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 ...
随机推荐
- poj--3678--Katu Puzzle(2-sat 建模)
Katu Puzzle Time Limit: 1000MS Memory Limit: 65536KB 64bit IO Format: %I64d & %I64u Submit S ...
- 基于QMP实现对qemu虚拟机进行交互
本文详解QMP,包含qmp.hmp.qemu-guest-agent的介绍.工作原理.配置方法.范例 小慢哥的原创文章,欢迎转载 目录 ▪ QMP介绍 ▪ QMP语法 ▪ 单独使用qemu,启用QMP ...
- 4.matlab基础
1 函数句柄 clear all; f1=@cos t=:pi/:pi f1(t) f2=@complex f2(,) clear all %函数句柄 f1=@char %函数句柄转换为字符串 s1= ...
- iOS8新特性之交互式通知
目前分为四个推送:用户推送,本地推送,远程推送,地理位置推送. if (IS_IOS8) { //1.创建消息上面要添加的动作(按钮的形式显示出来) UIMutableUserNotification ...
- SQL语句之WITH AS
一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到. 其实就是把一大堆 ...
- C# MVC登录判断状态
public class AuthenAdminAttribute:FilterAttribute,IAuthorizationFilter { public void OnAuthenticatio ...
- Codeforces 994B. Knights of a Polygonal Table
解题思路 将骑士按力量从小到大排序,到第i个骑士的时候,前面的i-1个骑士他都可以击败,找出金币最多的k个. 用multiset存金币最多的k个骑士的金币数,如果多余k个,则删除金币数最小的,直到只有 ...
- 「JavaSE 重新出发」05.02 泛型数组列表、包装类
泛型数组列表 ArrayList 是一个采用类型参数(type parameter)的泛型类(generic class). java ArrayList<Employee> staff ...
- Unity 点击屏幕发射射线 代码
1,创建一根射线 2,检查射线与其他物体的碰撞,得到碰撞信息 3,通过碰撞信息对碰撞到的物体进行处理 using System.Collections; using System.Collection ...
- JS判断客户端是否是iOS或者Android或者ipad(三)
* * @function: 判断浏览器类型是否是Safari.Firefox.ie.chrome浏览器 * @return: true或false * */ function isSafa ...