QTE安装过程(参考)

时间:2022-12-31 16:33:19

安装QT4.7.1嵌入式开发环境花了4天时间,记录其中过程点滴 。

p { margin-bottom: 0.21cm; }

1 、系统环境以及软件准备 
主机操作系统: Ubuntu 9.04
主机编译器: gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4)
交叉编译器: arm-linux-gcc 3.4.1
软件安装包:(软件包事先下载到了主目录下的 Qt 目录) 
qt-everywhere-opensource-src-4.6.2.tar.gz   (
 
适合 x11 ,embedded)

2. 
下载 qt-everywhere-opensource-src- 4.6.2.tar.gz 
下载地址: http://ftp3.ie.freebsd.org/pub/trolltech/pub/qt/source/ 下载 

3. 
安装 qt-x11 ( 主要是为了得到 assistant ,designer ,qvfb,uic 等工具 )

A 
、编译安装 qt-x11  /usr/local/qt-x86 目录 
解压: tar xzvf  qt-everywhere-opensource-src-4.6.2.tar.gz
进入解压目录: cd qt-everywhere-opensource-src-4.6.2
配置: ./configure -prefix /usr/local/qt-x86 -qvfb
编译: make
安装: make install  

NOTE: 
配置时要加上 -qvfb ,否则后面无法编译生成 qvfb  Qt/Embedded Virtual Framebuffer ) 工具 

B 
、编译安装 qvfb 

进入 qvfb 源文件目录: cd qt-everywhere-opensource-src-4.6.2/tools/qvfb/

编译: make
安装: sudo make install

然后将 
完成后会在 /usr/local/qt-x86/bin 里找到 qvfb


p { margin-bottom: 0.21cm; }

4. 编译安装 qt-embedded

这里要编译 qte 的两个版本, qte for  x86 ( 主要是生成在 x86 体系结构(即开发主机上)通过qvfb 运行的工具和库文件 )  
qte for  arm(
 
主要是生成在 arm 体系结构(即开发板上)直接运行的工具和库文件 )

qte for  x86 
 
A 
、解压 qt-everywhere-opensource-src-4.6.2.tar.gz
解压: tar xzvf  qt-everywhere-opensource-src-4.6.2.tar.gz

B,
 
进入刚才解压得到的目录 
cd  qt-everywhere-opensource-src-4.6.2

C,
 
编译并安装 qte-for x86( 在 /usr/local/qte-x86 下生成 一些工具和相应的库文件 )

 

p { margin-bottom: 0.21cm; }


配置: ./configure -prefix /usr/local/qte-x86 -qvfb -qt3support -debug-and-release -system-zlib -system-libtiff -system-libpng -system-libjpeg -qt-libmng -make libs -nomake examples -nomake demos -nis -no-cups -xplatform qws/linux-x86-g++ -embedded x86 -depths 16,24,32 -qt-gfx-qvfb -no-gfx-linuxfb -no-gfx-transformed -no-gfx-vnc -no-gfx-multiscreen -plugin-sql-sqlite -no-glib -dbus -qt-kbd-qvfb -qt-mouse-qvfb

不成功则换其他的!!!

sudo ./configure -prefix /usr/local/Trolltech/QtEmbedded-4.7.0 -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb ( 最后一个参数可能要删除 )
(
 
原先编译了 examples, demos 的,但一直出现错误,才有了后面列的几个错误,最后遇到一个错误解决不了了,就去掉了那两个模块,但现在 qvfb 还是有问题 , 有两个鼠标,一个一直飘, )
相关参数可以 用 ./configure -help 查看,感觉 Qt3  Qt4 的配置参数还是有点区别的,第一次我加了 -qt-mouse-usb  报告说 不识别这个参数。 

编译: make

安装: make install   

(
 
安装完成后就会在 /usr/local/qte-x86 下生成 一些工具和相应的库文件,当然可以改  -prefix yourDIR 不加  这个参数会默认安装在 /usr/local/Trolltech/***)

p { margin-bottom: 0.21cm; }

qte for  arm  
可以把刚才解压的目录改名或者删除(如果没有足够空间的话) 

A
 
、解压 qt-everywhere-opensource-src-4.6.2.tar.gz
解压: tar xzvf  qt-everywhere-opensource-src-4.6.2.tar.gz

B,
 
进入刚才解压得到的目录 
cd  qt-everywhere-opensource-src-4.6.2

C,
 
编译并安装 qte-for arm( 在 /usr/local/qte-arm 下生成 一些工具和相应的库文件 )

配置: ./configure -prefix /usr/local/qte-arm -debug-and-release -qt3support -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -nomake examples -nomake demos -nomake docs -no-cups -iconv -xplatform qws/linux-arm-g++ -embedded arm -little-endian -qt-freetype -depths 8,16,24,32 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-qvfb -no-gfx-vnc -no-gfx-multiscreen -no-dbus -qt-sql-sqlite -qt-kbd-qvfb -qt-kbd-tty -qt-mouse-pc -no-glib -qt-mouse-tslib -I/arm2410s/buildTSlib/include -L/arm2410s/buildTSlib/lib -D__ARM_ARCH_6__ 

(
 
最后的参数  -D__ARM_ARCH_5TEJ__ 是出现了后面的第七个错误 #error "Not supported ARM architecture" 后又重新回来加上的,加上后指明了适合的平台就没这个错误了   )

参数  -qt-mouse-tslib -I/arm2410s/buildTSlib/include -L/arm2410s/buildTSlib/lib 是说我用的是 tslib ,后面的- I  ,- 分别指明了要包含的头文件和库文件, /arm2410s/buildTSlib/是我编译 tslib-1.0 是生成文件的目录,详细编译 tslib 可以参见一武大女生的博客: http: //blog.chinaunix.net/u1/33412/showart_273400.html

编译: make
安装: make install   


5. 
设置环境变量 

A :针对 qte for x86  

cd /usr/local/
vi setenv-x86
编辑完后的内容如下: 
export QT4DIR=/usr/local/qt-x86
export QTEDIR=/usr/local/qte-x86
export PATH=$QTEDIR/bin:$QT4DIR/bin:$PATH
export LD_LIBRARY_PATH=$QT4DIR/lib:$QTEDIR/lib:$LD_LIBRARY_PATH
保存退出


p { margin-bottom: 0.21cm; }

B :针对 qte for arm 的

vi setenv-arm
编辑完后的内容如下:
export QT4DIR=/usr/local/qt-x86
export QTEDIR=/usr/local/qte-arm
export PATH=$QTEDIR/bin:$QT4DIR/bin:$PATH
export LD_LIBRARY_PATH=$QT4DIR/lib:$QTEDIR/lib:$LD_LIBRARY_PATH
保存并退出

要运行哪个版本就设置相应的环境,如要在主机上用qvfb ,就用 运行:. setenv-x86   ( 注意点后面有个空格 )


6 . 配置两个快速启动脚本
[root@redflag5 bin]# cat qvfb.sh
/usr/local/Trolltech/QtEmbedded-4.4.1/bin/qvfb -width 640 -height 480 -depth 16 &

[root@redflag5 bin]# cat eclipse.sh
/root/Desktop/mydocument/eclipse/eclipse &
上面是两个脚本的内容。存放的位置最好放在/usr/local/bin 下面


7 。使用
开机后运行.  qvfb.sh
.  eclipse.sh
就可以进入工作环境进行编程和调试的工作了。
注意,第一次运行eclipse 时会提示你进行Qt 的设置,将路径设置到Qte/bin 路径下即可。
千万不要关闭qvfb 窗口,不然屏幕上部会花屏,键盘输入也会被截断。
每一个程序,在Eclipse 中设置其启动参数 -qws 。


我在usr/local/bin 下创建了qvfb.sh ,把5 和6 步写在了一起。export 了一些环境变量(qte-for-arm) ,配置 qvfb 和 eclipse ,然后使用前在任何路径下输入.  qvfb.sh 即可。然后. /qvfb.sh , qmake -project , qmake xxx.pro , make ,  ./xxx -qws;

对qte-for x86的环境变量,编译程序时使用x11还是qte-x86是有规律的。打开终端后,若不运行. qvfb.sh, 编译使用的是x11,只要开了一次qvfb,则以后编译的全是qte-x86,除非重新打开终端。

转载:http://blog.csdn.net/linux_shuishou/article/details/6216322