QT开发环境的建立以及QTE4.6.3、tslib1.4的移植过程
1.首先是建立Linux开发环境
1.1.在windowsXP下安装博创公司提供的虚拟机软件VMware Workstation,版本为VMware-workstation-full-7.0.1-227600,安装完成后进行汉化,由于要覆盖文件,所以要先在任务管理器中结束所有有关VMware的进程,然后将汉化文件覆盖到VMware的安装目录,至此VMware虚拟机软件安装完成。
1.2.虚拟机软件安装成功后,就开始安装Linux操作系统,这里我使用的Ubuntu10.04长期支持版,可以到Ubuntu的官方网站上下载,下载地址为:http://www.ubuntu.org.cn/desktop/get-ubuntu/download/或者http://releases.ubuntu.com/lucid/(第一个不行就使用第二个);下载完成后打开虚拟机,在起始页上点击新建虚拟机,然后选中Ubuntu镜像文件的路径,然后是输入用户名、下一步、最后是定制硬件,可以根据自己需要添加,这里我把内存调整为1G,额外添加了一个串口,最后完成开始自动安装,这个过程是全自动的,基本不需要手动操作,下面我们就是等待安装完成。(安装的快慢跟你的机器配置有关);安装完成,大概用了不到两个小时,但是在登录界面却无法使用键盘。解决方法:(1) 开户屏幕键盘功能 在上图开机界面在右下角单击小人图案,再单击“Universal Access Perferences”,点击“Universal Access Perferences”对话框,在对话框中选中“Use on-screen keyboard”(使用屏幕键盘),以开启屏幕键盘功能,这时会有一个屏幕键盘快速闪过; (2) 重新启动打开屏幕键盘输入密码开启屏幕键盘功能后重新启动系统,这时就可以通过上面的步骤打开屏幕键盘,输入相应的密码 (3) 登录后键盘功能正常使用。 注意在(1)步后没出现软键盘, 需要重启机器。 (4)进入系统之后,要修改/etc/default/console-setup. 的文件内容 原文 XKBMODEL="SKIP" XKBLAYOUT="us" XKBVARIANT="U.S. English" XKBOPTIONS="" 改成 XKBMODEL="pc105" XKBLAYOUT="us" XKBVARIANT="" XKBOPTIONS="" 然后重启,这样在登入界面时就可能使用键盘了。这里我们使用root账户,在命令行输入:sudo passwd root,输入两次密码后添加root账户成功,重启,使用root账户登录,然后是设置软件源,首先备份源列表: sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup,而后用gedit或其他编辑器打开: gedit /etc/apt/sources.list,到官方选中合适的源,这里我们选择163的源,具体为:deb http://mirrors.163.com/ubuntu/ lucid main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ lucid-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ lucid-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ lucid-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ lucid-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ lucid main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ lucid-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ lucid-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ lucid-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ lucid-backports main restricted universe multiverse,替换掉文件中所有的内容保存编辑好的文件:,然后,刷新列表:
apt-get update
终端设置小技巧
因为经常会用到终端:所以把终端加到右键菜单:
apt-get install nautilus-open-terminal
至此我们的Linux操作系统基本安装成功。但是语言还是英文,大家可以根据自己喜好是否调整为中文,调整方法,打开system菜单下administration下的language support,出现语言配置对话框,然后你可以选中最下面的installl/removae language安装中文或者其他语言,在调整后重启系统起效!
2.安装开发工具QT
首先需要说明的是,我们把QT的安装分为两部分,第一、安装在LinuxPC机下开发的QT以及IDE开发工具QT Creator。第二、安装交叉编译的QTE以及移植QTE到博创star2410开发板,下面我们开始正式安装。
2.1.安装LinuxPC机上的开发工具QT
首先我们到QT的官方网站下载Linux下的QT版本,下载地址为:http://qt.nokia.com/downloads-cn,这里我们直接下载最新版本的Qt SDK for Linux/X11 32-bit** (370 Mb) (软件开发工具包)里面包括QT4.6.3以及QT IDE开发工具QT Creator,由于我们是直接下载编译好的二进制包,所以我们只需要更改一下文件的属性,变为可执行就行了,具体命令为:chmod +x qt-sdk-linux-x86-opensource-2010.04.bin,这样我们就能在文件的目录里执行./qt-sdk-linux-x86-opensource-2010.04.bin,然后就开始安装了。然后点击next、I accept the agreement、next、(默认安装路径为/opt/qtsdk-2010.04,你可以根据自己喜好更改路径,这里我们选择默认)、next、(在选择组件对话框里我们依然默认)next、(外部管理对话框,默认)next、(准备安装)next后开始安装,我们只需要等待就行,最后点击finish安装完成,我们会在桌面发现多了一个图标,这说明我们的QT以及Qt Creator安装成功,最后一步就是设置环境变量,具体步骤如下:使用编辑器打开配置文件 命令为:gedit ~/.profile ,在文件的最后添加export QTDIR=$PATH:/opt/qtsdk-2010.04/qt
export PATH=$PATH:/opt/qtsdk-2010.04/qt/bin
环境变量设置完成,重启系统,但是现在我们的QT还不能使用,因为我们的LinuxPC机没有安装标准C开发环境,最后再执行一条命令:apt-get install build-essential libncurses5-dev,至此我们的PC机QT开发工具就安装完成了,可以正常使用了。
2.2.搭建QTE-arm环境并移植QTE以及tslib1.4到博创star2410开发板
首先我们要先安装交叉编译工具链,这里我们使用的交叉编译器为博创公司提供的版本为arm-linux-gcc3.4.6,将arm-linux-gcc-3.4.6-glibc-2.3.6.tar.bz2放到/root/song目录下,然后打开目录解压编译器,具体命令为:tar xjvf arm-linux-gcc-3.4.6-glibc-2.3.6.tar.bz2 -C /usr/local/(注意:C 后面有个空格,并且 C 是大写的,它是英文单词“Change”的第一个字母,在此是改变目录的意思。),这样我们就将编译器安装在了/usr/local/gcc-3.4.6-glibc-2.3.6/arm-linux/下,然后设置环境变量,仍然是:gedit ~/.profile 在文件最后添加:export PATH=$PATH:/usr/local/gcc-3.4.6-glibc-2.3.6/arm-linux/bin,保存文件,然后执行:source ~/.profile是变量立即生效,然后在命令行下输入:arm-linux-gcc -v检查是否安装成功,安装成功则出现:Reading specs from /usr/local/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/../lib/gcc/arm-linux/3.4.6/specs
Configured with: /home/samba/armlinux/crosstool/crosstool-0.42/build/arm-linux/gcc-3.4.6-glibc-2.3.6/gcc-3.4.6/configure --target=arm-linux --host=i686-host_pc-linux-gnu --prefix=/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux --with-headers=/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/arm-linux/include --with-local-prefix=/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/arm-linux --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 3.4.6
否则可能是环境变量设置问题,仔细检查应该就能解决。
交叉编译器安装成功后,我们就开始解压及编译触摸屏软件tslib1.4.tar.gz,具体步骤如下:打开文件所在目录:cd /root/song ,解压:tar xjvf tslib-1.4.tar.bz2,进入解压目录:cd tslib-1.4,修改脚本:gedit build.sh,原来的内容为:#/bin/sh
export CC=arm-linux-gcc
./autogen.sh
#./configure --prefix=/mnt/nfs/tslib1.4-install --host=arm-linux
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
./configure --host=arm-linux --cache-file=arm-linux.cache -prefix=/mnt/nfs/Trolltech/QtopiaCore-4.3.3/tslib1.4
make
make install
修改后:#/bin/sh
export CC=arm-linux-gcc
./autogen.sh
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
./configure --host=arm-linux --cache-file=arm-linux.cache -prefix=/usr/local/tslib
make
make install
保存退出并执行:./build.sh开始编译并安装,中间没有出错,成功安装到了/usr/local/tslib目录下,tslib1.4编译成功。下面开始编译安装qte4.6.3-arm,首先到官方下载最新版的qte,版本为:qt-everywhere-opensource-src-4.6.3.tar.gz ,下载地址为:http://qt.nokia.com/downloads/embedded-linux-cpp,然后开始编译安装,
具体步骤如下:进入文件所在目录:cd /root/song,解压:tar xzvf qt-everywhere-opensource-src-4.6.3.tar.gz,进入解压目录:cd qt-everywhere-opensource-src-4.6.3,修改错误文件:gedit src/3rdparty/freetype/include/freetype/config/ftconfig.h,将第330行修改为:"orr %0, %0,%2, lsl #16/n/t" /* %0 |= %2 << 16 */,防止出现如下错误:text/qfontengine_ft.cpp: In member function `bool QFontEngineFT::init(QFontEngine::FaceId, bool, QFontEngineFT::GlyphFormat)':
text/qfontengine_ft.cpp:696: warning: converting to `int' from `qreal'
{standard input}: Assembler messages:
{standard input}:781: Error: register or shift expression expected -- `orr r3,r2,lsl#16'
{standard input}:792: Error: register or shift expression expected -- `orr r2,r3,lsl#16'
{standard input}:7752: Error: register or shift expression expected -- `orr r3,r0,lsl#16'
{standard input}:7765: Error: register or shift expression expected -- `orr r1,r0,lsl#16'
make[1]: *** [.obj/release-shared-emb-arm/qfontengine_ft.o] 错误 1
make[1]:正在离开目录 `/root/song/qt-everywhere-opensource-src-4.6.3;然后开始配置configure:命令为:./configure -qt-kbd-tty -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -qt-mouse-pc -no-gfx-qvfb -no-gfx-vnc -qt-kbd-tty -qt-gfx-linuxfb -no-gfx-qvfb -no-gfx-vnc -qt-mouse-tslib -no-glib -prefix /usr/local/Trolltech/qte4.6.3-arm -embedded arm -release -shared -fast -no-largefile -qt-sql-sqlite -no-qt3support -no-xmlpatterns -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -no-webkit -qt-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -nomake tools -nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,18 -I/usr/local/tslib/include -L/usr/local/tslib/lib -v -D__ARM_ARCH_5TEJ__,然后输入o回车,再输入yes回车开始配置,配置成功提示:Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into /usr/local/qte4.6.3-arm
To reconfigure, run 'make confclean' and 'configure'.
然后开始编译:make,需要等待一会,快慢视个人配置。大概半个小时左右make完毕,然后执行:make install,完成后qte就被安装在了/usr/local/qte4.6.3-arm下面,至此,qte4.6.3-arm编译安装成功。
然后我们开始把qte移植到博创star2410开发板上,具体步骤为:1.复制tslib库以及ts目录,cp /usr/local/tslib/lib/libts* /usr/local/qte4.6.3-arm/lib/,cp -rf /usr/local/tslib/lib/ts /usr/local/qte4.6.3-arm/lib/,进入目录:cd /usr/local/gcc-3.4.6-glibc-2.3.6/arm-linux/arm-linux/lib,继续拷贝库:cp libgcc_s.so.1 /usr/local/qte4.6.3-arm/lib/,cp librt.so.1 /usr/local/qte4.6.3-arm/lib/,cp libstdc++.so.6 /usr/local/qte4.6.3-arm/lib/,cp libz.so.1 /usr/local/qte4.6.3-arm/lib/,拷贝库完成,对于有些库文件,可以裁剪一下,命令如下:arm-linux-strip libstdc++.so.6,最后将/usr/local/qte4.6.3-arm/lib/中的所有文件打包,命令如下:tar czvf lib-new.tar.bz2 *,然后再将tslib校准程序移植,cd /usr/local/tslib/lib,拷贝需要的库文件,cp /usr/local/qte4.6.3-arm/lib/librt.so.1 .,cp /usr/local/qte4.6.3-arm/lib/libz.so.1 .,最后将整个tslib目录打包,命令如下:tar czvf touch.tar.bz2 *,最后将我们所有打包的文件以及前面交叉编译的MPlayer全部放到一个目录下,这里我建立了一个embed目录,将所有包放进去,解压整理,最终生成一个应用程序包,其中包括MPlayer,触摸屏校准程序,usb设备挂载,以及qte4.6.3,包的名字为:embed.tar.bz2。至此我们的移植以接近尾声,下面我们把编译好的应用程序包下载到star2410上,步骤如下:先在Linux下面使用minicom连接上板子,设置板子的IP使和主机在同一网段,命令如下:ifconfig eth0 192.168.88.189 broadcast 192.168.88.254 ,然后再执行inetd,是更改生效。然后在windows下使用FlashFXP软件匿名连接板子的IP,连接上后,将embed.tar.bz2传送到板子,很快就可以传完,然后在板子上,进入root目录,执行命令:mv /root/system/var/ftp/pub/embed.tar.bz2 .,然后解压程序包:tar xzvf embed.tar.bz2,这样root目录下就出现了我们的程序目录,首先我们进入touch目录进行触摸屏校准,我们先写touch.sh一个脚本方便程序执行,脚本内容如下:#bin/sh
export QTDIR=$PWD
export LD_LIBRARY_PATH=$PWD/lib:/lib
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_PLUGINDIR=$PWD/lib/ts
export TSLIB_CONSOLEDEVICE=none
export QT_TSLIBDIR=$PWD/lib
export TSLIB_CONFFILE=$PWD/etc/ts.conf
export POINTERCAL_FILE=$PWD/etc/ts-calib.conf
export QWS_MOUSE_PROTO=tslib:/dev/event0
export TSLIB_CALIBFILE=$PWD/etc/ts-calib.conf
/root/touch/bin/ts_calibrate
/root/touch/bin/ts_test
保存退出,执行脚本:./touch.sh,出现如下错误:No raw modules loaded.
ts_config: Success
No raw modules loaded.
ts_config: Success
解决方法:vi etc/ts.conf,将文件中第二行# module_raw input前面的#号去掉,然后在执行脚本,屏幕上出现校准程序,点击十字架开始校准,至此,tslib1.4移植成功!
最后我们进入qte4.6.3目录中,同样我们也写一个脚本方便程序运行,脚本qt.sh内容如下:export QTDIR=$PWD
export LD_LIBRARY_PATH=$PWD/lib:/lib
export QTDIR=$PWD
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_PLUGINDIR=$PWD/lib/ts
export TSLIB_CONSOLEDEVICE=none
export QT_TSLIBDIR=$PWD/lib
export TSLIB_CONFFILE=$PWD/etc/ts.conf
export POINTERCAL_FILE=$PWD/etc/ts-calib.conf
export QWS_MOUSE_PROTO=tslib:/dev/event0
export TSLIB_CALIBFILE=$PWD/etc/ts-calib.conf
export QT_QWS_FONTDIR=$PWD/lib/fonts
export LANG=zh_CN
export QWS_DISPLAY="LinuxFb:mmWidth160:mmHeight120:0"
/root/qte4.6.3/bin/demo -qws
保存退出,然后执行:./qt.sh
出现以下错误,并且触摸屏不能使用:No raw modules loaded.
QWSTslibMouseHandlerPrivate: ts_config() failed with error: 'No such file or di'
Please check your tslib installation!
解决方法:还是将etc/ts.conf文件中的第二行前面的#号去掉,保存退出,在执行./qt.sh,成功,无任何提示,屏幕显示我们的例子,并且触摸屏使用正常,至此,我们的qte4.6.3、tslib1.4的编译安装以及移植到博创的star2410板子上的工作全部完成!
http://blog.csdn.net/songjinshi/article/details/5731580
QT开发环境的建立以及QTE4.6.3、tslib1.4的移植过程的更多相关文章
- Eclipse Qt开发环境的建立
1.下载Eclipse目前Eclipse+CDT已经可以集成下载了,好像优化过了,速度还比较快.下载的地址是:http://www.eclipse.org/downloads/,选择“Eclipse ...
- 第一章 搭建Qt开发环境
第一章 搭建Qt开发环境 1.到http://download.qt-project.org/archive/上下载Qt的源码包.我下载的是qt-everywhere-opensource-src-4 ...
- 【应用笔记】【AN005】Qt开发环境下基于RS485的4-20mA电流采集
简介 4-20mA电流环具有广泛的应用前景,在许多行业中都发挥着重要作用.本文主要介绍在Qt开发环境下基于RS485实现4-20mA电流采集,实现WINDOWS平台对数据的采集.分析及显示. 系统组成 ...
- 【学QT】2 - QT/E环境的建立
Arm-Linux嵌入式QT/E环境的建立(qt/e 3.x系列) QT/E 3.x系列比QT/E 2.x系列有非常大的改进,大大提高了开发进度,不再使用tmake,安装也更简单.但 ...
- 【Qt开发】Linux下Qt开发环境的安装与集成
近期工作需要在Linux下用Qt进行C++开发,所以就在linux下尝试装QT开发环境.本人用的linux是CentOS 6.5.现在对安装过程做出总结.有两种安装方式,下面分别详述: 1 图形化安装 ...
- win使用MSYS2安装Qt开发环境
原文链接 MSYS2 下载地址: pacman的具体用法 有pacman的具体使用方法.我们首先对系统升级 我们首先对系统升级 pacman -Syu 就会检测整个系统可以升级的组件,并自动下载安装, ...
- Ubuntu 12.04下搭建Qt开发环境
http://download.qt.io/official_releases/qt/ Ubuntu 环境下Gtk与Qt编译环境安装与配置(系统环境是Ubuntu 12.04) 1.配置基础开发环境G ...
- 【CC2530入门教程-01】IAR集成开发环境的建立与项目开发流程
[引言] 本系列教程就有关CC2530单片机应用入门基础的实训案例进行分析,主要包括以下6部分的内容:1.CC2530单片机开发入门.2.通用I/O端口的输入和输出.3.外部中断初步应用.4.定时/计 ...
- 关于xampp集成开发环境的建立与初步认识
针对于xampp集成开发环境的建立主要分大步骤: 1.把xampp的压缩包压缩到一个盘中,比如c盘:然后点击中间的那个图标开始安装,由于这个软件是配置基本已经OK了,故可以直接next ...
随机推荐
- [Nuxt] Add Arrays of Data to the Vuex Store and Display Them in Vue.js Templates
You add array of todos to the store simply by adding them to the state defined in your store/index.j ...
- php实现变态跳台阶(记忆化递归)
php实现变态跳台阶(记忆化递归) 一.总结 1.本题思路(分类讨论思路,注意初始值和边界值):第一步如果1,那剩下的就是jumpFloorII($number-1)(下面jumpFloorII以j表 ...
- UI组件之TextView及其子类(三)ToggleButton和Switch
ToggleButton.Switch.CheckBox和RadioButton都是继承自android.widget.CompoundButton,意思是可选择的,因此它们的使用方法都非常类似. C ...
- java用volatile或AtomicBoolean实现高效并发处理 (只初始化一次的功能要求)
最近碰到一个这样的功能要求:怎么在一个类里面,实现高效并发处理下只可以初始化一次的方法? 实现方式: 1)volatile方式: /** * Created by Chengrui on 2015/7 ...
- Ubuntu10.04下安装Qt4和创建第一个Qt程序
1.首先安装Qt4并采用Qt Creator进行开发演示 (1)在Terminal中输入: sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfi ...
- tomcat 启动项目时出现 ZipException: error in opening zip file
错误情况 项目用 maven 打好 war 包后放到 tomcat 下,启动 tomcat,出现以下错误 3-Nov-2017 12:21:44.346 严重 [localhost-startStop ...
- 阿里巴巴fastjson的使用
一.项目结构 一个学生类.当中学生类中能够包括Course类对象 使用Maven管理项目的能够加入fastjson的坐标: <dependency> <groupId>com. ...
- 使用DOT语言和Graphviz绘图(翻译)
Casa Taloyum About Me Blog Archives 使用DOT语言和Graphviz绘图(翻译) Date Wed 26 November 2014 Tags graphviz / ...
- 使用AJAX实现页面跳转
$.ajax({ type:"POST", url: //你的请求程序页面随便啦 async:false,//同步:意思是当有返回值以后才会进行后面的js程序. data://请求 ...
- 一大波Java来袭(四)String类、StringBuilder类、StringBuffer类对照
本文主要介绍String类.StringBuffer类.StringBuilder类的差别 : 一.概述 (一)String 字符串常量.可是它具有不可变性,就是一旦创建,对它进行的不论什么改动操作 ...