linux测试qt,测试Qt桌面环境(转)

生成可执行文件并且在Virtual framebuffer上运行,测试Qt桌面环境

一个源代码文件要能够在开发板上运行,首先应能够在Virtual framebuffer上显示出来,然后通过交叉编译在开发板上运行.

生成可执行文件在qte中试验

这里我们采用了Qt/Embedded自带的一个demo,它在/$QTEDIR/examples/progressbar目录下,

这个目录包括下面几个文件: main.cpp、Makefile.in 、progressbar.h 、

Makefile、progressbar.cpp、progressbar.pro,如果已经有了progressbar 的执行文件,可以使用make clean删除。

设置环境变量

export TMAKEDIR=/root/qtopia/tmake-1.13

export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++

export PATH=$TMAKEDIR/bin:$PATH

export QTEDIR=/root/qtopia/qt-2.3.10-host

export QTDIR=$QTEDIR

export PATH=$QTDIR/bin:$PATH

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

1.生成工程文件.pro每个Qt程式都对应着一个工程文件,因为tmake工具要借此文件生成相应的Makefile文件提供给make进行编译联接.

生成工程文件需要使用progen工具,位置在tmake-1.13/bin下,使用progen生成工程文件的方法如下:

A. 进入含有源文件的目录.如:

cd /$QTEDIR/examples/progressbar

B. 运行progen工具生成.pro文件.如:

progen –t app.t –o progressbar.pro

( 因为设置了export PATH=$TMAKEDIR/bin:$PATH,所以可以直接用progen和下面的tmake命令)

注意:-o 选项是指定输出文件的文件名.比如上面的生成的工程文件名是progressbar.pro,生成的这个.pro文件是可以修改的,可以编辑里面的头文件HEADERS,文件来源SOURCE等.

2.生成Makefile文件Qt提供了生成Makefile文件的工具tmake,在tmake-1.13/bin目录下,可以根据不同平台的需要生成适合于不同平台的Makefile文件.

在使用tmake工具前,应查看相应的环境变量是否正确,由于我们要编译在PC机上运行的Qt程式,所以指定的编译器应该是含有"linux-x86-g++",在命令行里键入命令检查环境变量是否正确.

echo $TMAKEPATH

查看返回的结果的结尾字符是否是"...../qws/linux-x86-g++",如果不是的话应该重新设置TMAKEPATH.

export TMAKEPATH=tmake的安装路径($TMAKEPATH)/lib/qws/linux-x86-g++

注意:TMAKEPATH是指定tmake的位置,比如我的tmake安装在/root/qtopia/ttmake-1.13下,我就设置TMAKEPATH为:

export TMAKEPATH=/root/qtopia/tmake-1.13/qws/linux-x86-g++

此外还要使QTDIR指向Qt/Embedded的安装路径,如:(这些工作已在环境变量设置中做了)

export QTDIR=$QTEDIR

或者直接指定路径

export QTDIR=/root/qtopia/qt-2.3.10-host注意:因为我的Qt/Embedded安装在/root/qtopia/qt-2.3.10-host下,所以才是export QTDIR=/root/qtopia/qt-2.3.10-host

完成了上面的环境变量的设置,并用echo命令检查无误后,就可以使用tmake工具来生成我们需要的Makefile文件了,键入命令

tmake -o Makefile progressbar.pro

注意:-o选项是指定生成的Makefile文件名为Makefile,tmake是用前面progen生成的工程文件.pro来生成Makefile文件的.完成上面的步骤后就可以在当前目录里生成一个Makefile文件了.

3.使用LINUX系统自带的make来进行整个程式的编译联接

生成一个二进制的可执行文件progressbar

进入含有刚才tmake生成的Makefile文件的目录,键入命令make,如:我生成的Makefile文件放在/home/alpha/pro下,就:

cd /$QTEDIR/examples/progressbar

make

4.在Virtual framebuffer运行程式.

A.进入含有生成的二进制文件的目录

cd /$QTEDIR/examples/progressbar

B.运行qvfb来模拟Virtual framebuffer

qvfb -width 640 -height 480 &

C.在qvfb上加载二进制文件,运行程式.如:

./progressbar -qws

(因为设置了export PATH=$QTDIR/bin:$PATH,所以这里可以直接用qvfb命令)

注意:-width 640 -height 480是指定Virtual framebuffer模拟器的长为640橡素,宽为480像素.qvfb还有很多选项,详情请见qvfb --help命令.

如果没有选项,就直接用qvfb &

__________________

除了example中的progressbar.cpp文件

还可以用下面的源程序try一下

/***************************************************************************************************

*

* hello.cpp

*

***************************************************************************************************/

#include#include

int main(int argc,char **argv)

{

QApplication app(argc,argv);

QLabel *hello=new QLabel("Hello World!",0);

app.setMainWidget(hello);

hello->show();

return app.exec();

}

就是把以上的progressbar改为hello就可以了

交叉编译

使编译的二进制文件可以在目标板上运行

环境变量的设置

[root@team root]# export TMAKEDIR=/root/2410s/tmake-1.13

[root@team root]# export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++

[root@team root]# export PATH=$TMAKEDIR/bin:$PATH

[root@team root]# export QTEDIR=/root/2410s/qt-2.3.10-arm

[root@team root]# cd $QTEDIR

[root@team 2410s]# export QTDIR=$QTEDIR

[root@team 2410s]# export PATH=$QTDIR/bin:$PATH

[root@team 2410s]# export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

[root@team 2410s]# export PATH=/usr/local/arm/2.95.3/bin:$PATH

注意: TMAKEPATH要设置为.../qws/linux-arm-g++

还要加一个export PATH=/usr/local/arm/2.95.3/bin:$PATH来说明交叉编译链的位置

其他的同host上的一样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值