Chinaunix首页 | 论坛 | 博客
  • 博客访问: 204969
  • 博文数量: 70
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 412
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-30 11:07
文章分类

全部博文(70)

文章存档

2014年(68)

2013年(2)

我的朋友

分类: LINUX

2014-03-10 17:34:43

方法一:下载 安装包qvfb-1.1.tar.gz (在CSDN的资源里就有

解压缩,开启我们的安装之路。

安装三步曲:

1、configure

遇到的第一个问题就是:configure: error: C++ preprocessor "/lib/cpp" fails sanity check

这个比较简单,解决方案是:sudo apt-get install build-essential 

第二个问题就比较棘手了。那就是:Can't find X includes. Please check your installation and add the correct paths! 

网上的说法是安装xlibs-dev就可以了,但是在unbuntu 的包资源搜索中都没找到这个包。

众人拾材火焰高啊,网络的力量真强大,让我还是找到的解决方法,那就是用xorg-dev代替xlibs-dev

sudo apt-get install xorg-dev

接着就会遇到第三个问题:Qt (>= Qt 3.0.3) (headers and libraries) not found. Please check your installation! 

原因是找不到qt的安装头文件和库

这个也比较好解决:sudo apt-get install libqt3-headers libqt3-mt-dev

我们再次./configure

但是发现问题还是没有解决完,错误提示仍然是Qt (>= Qt 3.0.3) (headers and libraries) not found. Please check your installation! 

这是为什么呢,原来我们没有指定头文件和库的路径。

我们进入/usr/lib/,发现有一个子文件夹qt3(sudo apt-get install qt4-dev-tools)

SO!!

./configure --prefix=/usr/ --with-qt-dir=/usr/lib/qt3/ --with-qt-includes=/usr/include/qt3 --with-qt-libraries=/usr/lib/qt/

2、make

3、make install

大功告成啦~~~感谢天,感谢地啊!!感谢网络的力量啊!!

/*追加 qvfb的命令选项

[-width width]   the width of the virtual framebuffer (default: 240).
[-height height] the height of the virtual framebuffer (default: 320).
[-depth depth]   the depth of the virtual framebuffer (1,4,8 or 32, default: 8).
[-nocursor]      do not display the X11 cursor in the framebuffer window.
[-qwsdisplay]    the Qt/Embedded display ID, e.g. -qwsdisplay :1 (default :0).
[-skin skinfile] tells qvfb to load a skin file, e.g. -skin pda.skin

*/

方法二:在源码包qt-x11-opensource-src-X.X.X/tools/qvfb中有qvfb的源码,只需在编译qt-everywhere-4.7.1(PC)是configure 带上-qvfb,再在qt-x11-opensource-src-X.X.X/tools/qvfb下编译qvfb即可。
具体步骤可参照如下:

	
  1. source setenv.sh //使QT-X11的环境变量生效
  2. $ cd qt/tools/qvfb
  3. $ qmake
  4. $ make

make的过程中出现一个典型错误:qvfb.cpp:51:24: error: deviceskin.h: No such file or directory

原因参见:

但是它所说的对于一个新手来说看起来可能还是费劲的,我再通俗地解释一下:

这个问题仍然是环境变量设置的问题,因为QT_SOURCE_TREE的设置使得make的时候找不到deviceskin.h。

在qvfb.pro这个文件里,可用QtCreator打开查看

第37行#include($[[QT_SOURCE_TREE]]/tools/shared/deviceskin/deviceskin.pri)
那么就需要设置一下该变量QT_SOURCE_TREE

解决方法参见:

2、步骤是

1)首先定位到文件夹:qtenv/qtsdk/

	
  1. $ cd qtenv/qtsdk

2) 将QT_SOURCE_TREE的目录设置到我们当前的目录上,这个变量qvfb.pro要用到,执行命令

	
  1. $ qmake -set QT_SOURCE_TREE $PWD (PWD为当前目录)3) 改动qvfb.pro中使用变量方式$$QT_SOURCE_TREE为$$[QT_SOURCE_TREE],执行命令为
  2. $ sed -i "s/QT_SOURCE_TREE/[QT_SOURCE_TREE]/g" tools/qvfb/qvfb.pro4)执行qmake,make编译,执行命令为
  3. $ cd tools/qvfb/;qmake;make5)拷贝到x86/bin下
  4. $ cp qtsdk/qt/bin/qvfb x86/bin

6)最后测试qvfb

	
  1. $ cd x86
  2. $ source setenv.sh
  3. $ cd x86/bin
  4. $ qvfb &

若出现窗口(可能是黑屏)则表示qvfb安装成功;若想使用qvfb则运行 ./app -qws -qvfb指令即可,app为生成的可执行文件。

其中工程文件app.pro由qmake生成makefile,再运行make生成可执行文件app,然后运行 qvfb -width 800 -height 600 & 最后运行./app -qvfb -qws即可执行。

如果在一些文件的make过程中出现错误则再根据错误提示解决即可,一般是缺乏安装文件。



阅读(2158) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~