首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

qvfb must be compiled with the Qt for X11 package?

2013-06-26 
求助:qvfb must be compiled with the Qt for X11 package??大家好,希望能有高手帮助我看看这个问题,谢谢

求助: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的窗口了。



我的想法是这样的,首先,qvfb这个好像在qt配置成embedded下是无法编译的,要配置成普通的linux版本才能生成,而按qt-embedded库编译后的程序又得在qvfb下才能运行。原作者可能没说清楚这些

不知道我的想法对不对,下一步要移植qt到dm365平台下,两位有了解怎么做吗?


如果你是按照你给的链接来做的话,交叉编译器什么的你应该都配置好了,编译出来的版本应该是arm版本的吧,你把编译出来的库还有相关的文件移植到开发板即可

热点排行