ubuntu12.10 建立qt嵌入式开发环境(二)
来源:互联网 发布:血色十字军 知乎 编辑:程序博客网 时间:2024/05/18 18:45
来说说开发板环境的搭建。
如果是初学的话,那么一定要自己移植一下内核,自己做一下文件系统
参考:http://blog.csdn.net/zhaole20094463/article/details/6882266 2440开发板内核移植
http://blog.csdn.net/zhaole20094463/article/details/8087327 6410内核移植
http://blog.csdn.net/zhaole20094463/article/details/8087332 6410文件系统制作
http://blog.csdn.net/zhaole20094463/article/details/6899439 2440根文件系统制作
如果是已经上手了,对嵌入式有一定的了解了那么就直接来开发吧。用官方的内核文件系统不失为一个快的
方法。我采用的开发板是飞凌公司的tiny6410,内核文件系统都是用的官方自带的。
但是他的文件系统中用的是qtopia我用不到,所以为了腾空间就全部给删掉了,装上了我自己移植的qt4.8.3
如果我们要做一个有意思的东西,我想漂亮的交互界面就必不可少了。那么能做出优秀的界面又在嵌入式领域
应用很广泛的是什么呢?答案是唯一的qt
首先我们就是在主机上搭建qt开发环境。
目前的qt正在淡化qt designer 和qt creater 的区别,qt -creater 现在既能编译工程又可以设计界面,总的来看
是更加的方便了。
从ubutnu软件管理中心中搜素qt 从搜素结果中选择qt创造器(我安装的是中文版)。
这样qtcreater 就有了还差两个qmake 一个是x86的(主机)一个是arm的(开发板)。
怎么办? 来吧,移植吧
参考:http://blog.csdn.net/zhaole20094463/article/details/8683387
1.安装tslib
为什么要装tslib?主要是为了校准触摸屏以及去抖等功能,为了能更好的使用触摸屏还是装吧。
下载地址:http://sourceforge.net/projects/tslib.berlios/files/
网上说的tslib1.4其实就是tslib1.0.4,怎么就变成1.4了,汗。。。这个工具比较小,配置一下后直接编译就行了。
tar -xvjf tslib-1.0.tar.bz2cd tslib-1.0 ./autogen.sh ./configure--prefix=/opt/tslib-1.0 --host=arm-linux ac_cv_func_malloc_0_nonnull=yes make make install
prefix后面是安装目录,自己随便定义,装好后修改/opt/tslib-1.0/etc/ts.conf,去掉module_raw input 前面的#号,然后把/opt/tslib-1.0里的文件都拷入开发板,比如我放在了/usr/local里。再配置开发板的环境变量,让tslib能正常工作。
export
set
TSLIB_FBDEVICE=
/dev/fb0
export
set
TSLIB_TSDEVICE=
/dev/event4
export
set
TSLIB_CONFFILE=
/usr/local/etc/ts
.conf
export
set
TSLIB_CALIBFILE=
/etc/pointercal
export
set
TSLIB_PLUGINDIR=
/usr/local/lib/ts
运行/usr/local/bin中的ts_calibrate进行校准,成功的话会出现界面,并让你点击十字符号,完成后会生成/etc/pointercal文件,这是触摸屏的校准配置文件。
遇到的问题:
1.在autogen时出错,提示
./autogen.sh: 4: autoreconf: not found
这是因为系统没有安装automake,装上就行了。
apt-get install autoconf automake libtool
2.安装Qt4.8.3
为了开发方便,我们一般在PC端写好程序,仿真,调试完成后再用arm-linux-gcc编译成arm版的程序,最后拷到开发板上运行。所以我们必须编译两套Qt库文件:PC端的和arm端的。
2.1.安装Linux/X11版Qt
下载页面:http://qt-project.org/downloads
选择Qt libraries 4.8.3 for Linux/X11得到qt-everywhere-opensource-src-4.8.3.tar.gz,这个和Qt libraries 4.8.3 for embedded Linux是同一个文件,配置不同就可以编译出不同的版本,所以我们下一个就行了,解压开,配置,make。
tar
-xvzf qt-everywhere-opensource-src-4.8.3.
tar
.gz
cd
qt-everywhere-opensource-src-4.8.3
.
/configure
-prefix
/opt/qt-4
.8.3-x11
make
make
install
2.2.安装embedded版Qt
源代码是一样的,重新配置就行了。
.
/configure
-prefix
/opt/qt-4
.8.3-arm -embedded arm -release -shared-fast -no-largefile -qt-sql-sqlite -qt3support -no-xmlpatterns -no-glib -no-phonon -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -webkit -qt-zlib -qt-libtiff -qt-libpng -qt-libjpeg -
make
libs -nomake examples -nomake docs -nomake demo -no-nis -no-cups -iconv -no-dbus -openssl -xplatform qws
/linux-arm-g
++ -little-endian -qt-freetype -depths 16,24,32 -qt-gfx-linuxfb -qt-gfx-transformed -qt-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-kbd-qvfb -armfpa -no-mouse-qvfb -qt-mouse-linuxtp -qt-mouse-tslib -DQT_QLOCALE_USES_FCVT -I
/opt/tslib-1
.0
/include
-L
/opt/tslib-1
.0
/lib
make
make
instal
不知到你注意到了我加红和加粗的两个选项,这两个选项前面加上-no这个参数
因为我在编译过程中出现了错误:Openssl not supoort 。。。。。。肯定跟第二个红色参数有关(我安装了相应插件也不好使)
于是我参考网上的另外一篇帖子更改了这两个编译参数,我想第一个应该没有关系不过没做个测试,如果你在做这个的话fast不改试试是不是
我的猜想是正确的,然后留言告诉我。
注意:
这里有一个问题,关于环境变量的
你在编译x11 pc机版本的时候指定了一个安装目录,
在编译arm版本的时候又指定了一个安装目录,你执行第二个编译安装的时候,会发现第二个参数没有起作用,arm版本的东西安装
到了前一个目录里。
我做了很多次实验每次第二个编译目录都把第一个目录替换掉了。这么说来原因大概是环境变量没有被第二个编译文件改变掉。
解决方法:
编译第二个目录时在打开一个终端,将第一终端关闭这样他们的环境变量就不会相互影响了
如果还不行,就把上一个编译目录删掉,在另外一个终端中解压一个新的目录。
编译出来的arm版本中的库传输到开发板上并将指明环境变量即可
配置选项要根据自己的硬件选取,这样编译出来的库文件才会比较小。装好后把目录下的imports、lib、mkspecs 、plugin文件夹拷到开发板上的/opt/Qt目录下,目录随便,和环境变量里的一致就行。然后配置开发板的环境变量,让他能找到Qt。
export
set
QTDIR=
/opt/Qt
export
set
QPEDIR=
/opt/Qt
export
set
LD_LIBRARY_PATH=$QTDIR
/lib
:
/usr/local/lib
:$LD_LIBRARY_PATH
export
set
QT_QWS_FONTDIR=$QTDIR
/lib/fonts/
export
set
QWS_SIZE=800x480
export
set
QWS_DISPLAY=
"LinuxFb:mmWidth80:mmHeight120:0"
export
set
QWS_DISPLAY=
"LinuxFB:/dev/fb0"
export
set
QT_PLUGIN_PATH=$QTDIR
/plugins/
export
set
QWS_KEYBOARD=
"TTY:/dev/tty1"
export
set
QWS_MOUSE_PROTO=
"TSLIB:/dev/event4"
export
PATH=$QTDIR
/bin
:$PATH
这样大部分工作就完成了。
- ubuntu12.10 建立qt嵌入式开发环境(二)
- ubuntu12.10 建立qt嵌入式开发环境(一)
- ubuntu12.10 建立qt嵌入式开发环境(三)
- Ubuntu12.04的嵌入式开发环境搭建(二)
- 嵌入式QT-3开发环境建立
- Qt/Embedded嵌入式开发环境的建立
- Qt/Embedded嵌入式开发环境的建立
- Qt/Embedded嵌入式开发环境的建立
- Qt/Embedded嵌入式开发环境的建立
- Qt/Embedded嵌入式开发环境的建立
- Ubuntu12下嵌入式Qt开发环境配置总结
- LINUX嵌入式开发 PC端 QT开发环境建立过程
- Qt/Embedded嵌入式开发环境的建立 转
- 嵌入式3D-嵌入式3D软件开发环境的建立-嵌入式GUI与Qt/Embedded
- Qt(1): ubuntu12.04配置Qt开发环境
- Qt 嵌入式环境搭建(二)
- 嵌入式Linux开发环境构建(基于Ubuntu12.04 LTS)
- Ubuntu12.04的嵌入式开发环境搭建(一)
- 得到(=),等于(==)和完全等同(===)
- 全排列算法原理和实现
- HDU1950,单调递增最长子序列(n*lgn)算法
- 关于linux上使用新无线网卡碰到的问题
- poj 1068
- ubuntu12.10 建立qt嵌入式开发环境(二)
- Android 4.0.3 源代码结构分析(一)
- 求一般电路的两点间电阻——高斯消元法
- CXimage类入门
- PHP翻转字符串实例
- android 从assets和res中读取文件
- 当更改指定 System.IO.FileSystemWatcher.Path 中的文件和目录时发生某个处理
- Divide Two Integers
- [译]WCF RIA Services中的集合(1)