求助:qvfb must be compiled with the Qt for X11 package??

Andy_Binary 2013-06-13 09:35:56
大家好,希望能有高手帮助我看看这个问题,谢谢 ,我是在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这个错误,大家有碰到过这个问题吗?
...全文
585 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Andy_Binary 2013-06-17
  • 打赏
  • 举报
回复
引用 8 楼 q245879 的回复:
[quote=引用 5 楼 donganwu 的回复:] [quote=引用 3 楼 zhxianbin 的回复:] 你加了 -embedded x86
引用 4 楼 allencui0313 的回复:
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平台下,两位有了解怎么做吗? [/quote] 如果你是按照你给的链接来做的话,交叉编译器什么的你应该都配置好了,编译出来的版本应该是arm版本的吧,你把编译出来的库还有相关的文件移植到开发板即可[/quote] hi,我是按照那个链接来做的,交叉编译,该移植的库和文件也都做了。出现两个问题,一是我在做这个链接#ln –s /dev/fb/0 /dev/fb0的时候,报错/dev/fb0这个设备不存在,但/dev目录下fb0和fb/0都是存在的。另外我直接跑helloworld测试程序,LCD没有反应。对了,我想问下Qt-extended是什么,我是不是还要移植这个到我的开发板上呢?
_Gx 2013-06-17
  • 打赏
  • 举报
回复
引用 10 楼 donganwu 的回复:
[quote=引用 8 楼 q245879 的回复:] [quote=引用 5 楼 donganwu 的回复:] [quote=引用 3 楼 zhxianbin 的回复:] 你加了 -embedded x86
引用 4 楼 allencui0313 的回复:
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平台下,两位有了解怎么做吗? [/quote] 如果你是按照你给的链接来做的话,交叉编译器什么的你应该都配置好了,编译出来的版本应该是arm版本的吧,你把编译出来的库还有相关的文件移植到开发板即可[/quote] hi,我是按照那个链接来做的,交叉编译,该移植的库和文件也都做了。出现两个问题,一是我在做这个链接#ln –s /dev/fb/0 /dev/fb0的时候,报错/dev/fb0这个设备不存在,但/dev目录下fb0和fb/0都是存在的。另外我直接跑helloworld测试程序,LCD没有反应。对了,我想问下Qt-extended是什么,我是不是还要移植这个到我的开发板上呢?[/quote] /dev/fb0好像也是一个链接吧,你查看一下。 你运行helloworld没看到效果应该是framebuffer没有被调用,所以没有显示输出。
Andy_Binary 2013-06-14
  • 打赏
  • 举报
回复
引用 7 楼 allencui0313 的回复:
哦~搞清楚之前要理解2个概念 1 Qt linux 这个是基于x11的。 2 Qt embedded 这个是基于framebuffer的,不依赖于x11. qvfb是一个x11平台的模拟器,用来模拟qt embedded的工作流程。 所以qvfb必须用x11平台的qt版本来编译。 同时你还需要一个qt-embedded版本.
嗯……你这样一说,概念就比较清楚了
_Gx 2013-06-14
  • 打赏
  • 举报
回复
引用 5 楼 donganwu 的回复:
[quote=引用 3 楼 zhxianbin 的回复:] 你加了 -embedded x86
引用 4 楼 allencui0313 的回复:
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平台下,两位有了解怎么做吗? [/quote] 如果你是按照你给的链接来做的话,交叉编译器什么的你应该都配置好了,编译出来的版本应该是arm版本的吧,你把编译出来的库还有相关的文件移植到开发板即可
  • 打赏
  • 举报
回复
哦~搞清楚之前要理解2个概念 1 Qt linux 这个是基于x11的。 2 Qt embedded 这个是基于framebuffer的,不依赖于x11. qvfb是一个x11平台的模拟器,用来模拟qt embedded的工作流程。 所以qvfb必须用x11平台的qt版本来编译。 同时你还需要一个qt-embedded版本.
zhxianbin 2013-06-13
  • 打赏
  • 举报
回复
好像 qvfb 必须配置成桌面版编译吧
zhxianbin 2013-06-13
  • 打赏
  • 举报
回复
qvfb 是一个桌面应用程序,所以不应该加入 -embedded 选项; -embedded x86 是为了在桌面模拟嵌入式环境,结果通过 qvfb显示; 编译 dm365 ,加入 -embedded arm 选项。
Andy_Binary 2013-06-13
  • 打赏
  • 举报
回复
引用 3 楼 zhxianbin 的回复:
你加了 -embedded x86
引用 4 楼 allencui0313 的回复:
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平台下,两位有了解怎么做吗?
  • 打赏
  • 举报
回复
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就可以了。
zhxianbin 2013-06-13
  • 打赏
  • 举报
回复
你加了 -embedded x86
Andy_Binary 2013-06-13
  • 打赏
  • 举报
回复
我的配置应该就是桌面版编译的

16,154

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧