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,在哪儿呢?去看看吧!就在这里:

  

  

原文地址:https://www.cnblogs.com/luomingchuan/p/3430410.html