当前位置: 代码迷 >> QT开发 >> qvfb must be compiled with the Qt for X11 package?
  详细解决方案

qvfb must be compiled with the Qt for X11 package?

热度:180   发布时间:2016-04-25 03:50:08.0
求助:qvfb must be compiled with the Qt for X11 package??
大家好,希望能有高手帮助我看看这个问题,谢谢 ,我是在ubuntu下安装的qt4.7.2
具体的安装步骤如下:
解压qt-everywhere-opensource-src-4.7.2.tar.gz源码包到/home/(user)/QT。并进入该目录:
#./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb
# gmake
# gmake install
安装过程比较长,没有碰到过错误。安装完成后在/usr/local/Trolltech目录下会产生一个QtE-4.7.2-x86文件夹。
# cd /home/qt-everywhere-opensource-src-4.7.2/tools/qvfb
    复制/home/qt-everywhere-opensource-src-4.7.2/tools/shared/deviceskin目录下的deviceskin.cpp和deviceskin.h文件至/home/qt-everywhere-opensource-src-4.7.2/tools/qvfb目录下,修改该目录下Makefile文件中LIBS = $(SUBLIBS)  -L/home/qt-everywhere-opensource-src-4.7.2/lib -lQtGui -L/home/qt-everywhere-opensource-src-4.7.2/lib -lQtNetwork -lQtCore –lpthread为:
LIBS = $(SUBLIBS)  -L/home/qt-everywhere-opensource-src-4.7.2/lib -lQtGui -lXtst -L/home/qt-everywhere-opensource-src-4.7.2/lib -lQtNetwork -lQtCore –lpthread
然后执行:
#/home/qt-everywhere-opensource-src-4.7.2/bin/qmake –project
#/home/qt-everywhere-opensource-src-4.7.2/bin/qmake
#make
好了,问题就出现在这个make上了,应该是make后会生成qvfb的可执行文件,可是,我一make,它就报qvfb must be compiled with the Qt for X11 package这个错误,大家有碰到过这个问题吗?

------解决方案--------------------
你加了 -embedded x86 
------解决方案--------------------
哦~搞清楚之前要理解2个概念
1 Qt linux 这个是基于x11的。
2 Qt embedded 这个是基于framebuffer的,不依赖于x11.

qvfb是一个x11平台的模拟器,用来模拟qt embedded的工作流程。

所以qvfb必须用x11平台的qt版本来编译。

同时你还需要一个qt-embedded版本.
------解决方案--------------------
引用:
Quote: 引用:

你加了 -embedded x86 



引用:
hi, 我的配置是这样的。
这个是编译qt-embedded版本
configure -debug -embedded -qvfb -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb -no-webkit -prefix /usr/local/Trolltech/Qt-embedded-qvfb-4.8.1 -confirm-license
然后,你需要去下载那个qvfb的工具。直接用sudo apt-get intall就可以了。


hi,我想我的问题初步得到解决了,装了我两三天,呵呵,非常感谢两位的提点
是这样的,我原本是按照下面这篇博客来安装环境的http://blog.chinaunix.net/uid-25652733-id-291521.html,他开发板的平台和我一样,dm365.写的也挺详细,所以我就按照他的步骤一步一步的做。
我用的是实验室的服务器,本身就是ubuntu系统,下载的qt版本是qt-everywhere-opensource-src-4.7.2,原博客作者的意图应该是先装一个桌面版QT4.7.2-X86,然后再装一个arm版的QtE-4.7.2-arm.但是按照他在安装QT4.7.2-x86时的configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb来做,make,make install后在/usr/local/Trolltech/下生成的是Qt-Embedded-4.7.2,然后再编译qvfb,就会报qvfb must be compiled with the Qt for X11 package这个错误,而且creator里写好的程序用这个库也运行不起来,而按他的意思写好的程序又要在qvfb下运行,我qvfb又没法编译出来,对这些概念有点不清楚,很郁闷。后来zhxianbin提醒了我,我直接改configure -qvfb 再make 再make install后,在/usr/local/Trolltech/下生成Qt-4.7.2,然后creator里的helloworld程序调用这个库来编译运行就可以直接弹出helloworld的窗口。而在新的configure以后,安装文件下的qvfb也可以编译成功了,然后想用qvfb的话,就按照原先configure生成的Qt-Embedded-4.7.2的库里的qmake来,先打开qvfb,再run,qvfb里就也会有helloworld的窗口了。
  相关解决方案