主题 : 关于QVFb找不到的问题,大侠帮帮忙吧 复制链接 | 浏览器收藏 | 打印
从此生活在arm9home的世界中
级别: 新手上路
UID: 10620
精华: 0
发帖: 23
金钱: 225 两
威望: 111 点
综合积分: 46 分
注册时间: 2009-11-10
最后登录: 2010-01-27
楼主  发表于: 2009-11-24 12:32

 关于QVFb找不到的问题,大侠帮帮忙吧

我终于克服种种困难进入到了最后一步
运行qvfb &,能顺利出线一个黑屏的QT窗口。
然后运行./hello -qws。但是就出现这个错误
Can't open framebuffer device /dev/fb0
Can't open framebuffer device /dev/fb0
driver cannot connect

然后按照网上查的在 qvfb之前添加
export QWS_DISPLAY=QVFb:0
没有报错
然后再运行如上步骤,就出现
QVFb driver cannot connect
[1]+  Done                    /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2/bin/qvfb

不知道是什么问题。拜托大家帮帮我。
我想知道QTE是什么东西?在友臂下面我从哪里找呢?我find了,找不到啊
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2009-11-24 12:59
把你的步骤和终端上的命令以及输出完整的贴出来
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
从此生活在arm9home的世界中
级别: 新手上路
UID: 10620
精华: 0
发帖: 23
金钱: 225 两
威望: 111 点
综合积分: 46 分
注册时间: 2009-11-10
最后登录: 2010-01-27
2楼  发表于: 2009-11-24 15:25

 回 1楼(kasim) 的帖子

我是根据友臂的开发手册安装的fedora9和QT2.2.0。x86的路径是/opt/FriendlyARM/mini2440/x86-qtopia。

我首先在/root/,bashrc中对路径做了如下设置:(其中一些路径是后面自己摸索着增加的)
export PATH=$PATH:/usr/local/arm/4.3.2/bin
export LD_LIBRARY_PATH=/usr/local/lib
export PATH=$PATH:/usr/include
export QT2DIR=/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2
export QTDIR=$QT2DIR
export QPEDIR=/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia
export TMAKE=/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/tmake
export TMAKEPATH=$TMAKE/lib/qws/linux-generic-g++
export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib:$LD_LIBRARY_PATH

然后我在x86-qtopia文件下创造了文件夹try.
在try中用progenc创建工程文件hello.pro。
然后再designer中创建一个按钮,设置信号和槽,然后保存为hello.ui,存入try文件夹中。
利用uic生成.cpp和.h文件并创建main.cpp内容如下:
#include "qwidget.h"
#include "hello.h"
#include <qapplication.h>
                                                                                              
int main(int argc,char **argv)
{
        QApplication app(argc,argv);
                                                                                              
         Form1 *hello=new Form1();
        hello->show();
         app.setMainWidget(hello);
        return(app.exec());
}
修改hello.pro
TEMPLATE = app
CONFIG   = qt warn_on
HEADERS =hello.h
SOURCES =hello.cpp \
   main.cpp
INTERFACES=

对tmake.conf中的
TMAKE_LINK = gcc 和TMAKE_LINK_SHLIB = gcc
   分别修改成
   TMAKE_LINK = g++和TMAKE_LINK_SHLIB = g++
然后生成makefile
对makefile做修改,如下:
对于设置LIBS=$(SUBLIBS) -L$(QTDIR)/lib -lm -lqte
这些步骤都是根据我从网上搜的方法一步一步做出来的。
当我做完make了之后,先出现了找不到-lqte的问题,我修改了路径解决了。然后出现了前一篇帖子找不到共享的问题,我按照您说的,添加了路径到LD_LIBRARY_PATH中,解决了。
然后就出现了这个帖子里的问题。
从此生活在arm9home的世界中
级别: 新手上路
UID: 10620
精华: 0
发帖: 23
金钱: 225 两
威望: 111 点
综合积分: 46 分
注册时间: 2009-11-10
最后登录: 2010-01-27
3楼  发表于: 2009-11-24 15:30

 回 1楼(kasim) 的帖子

可能我的路径添加的比较乱,因为我对这一块还不太熟悉。给版主添麻烦了。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
4楼  发表于: 2009-11-24 17:08
我想可能是我没说清楚,我说的步骤和输出是指你是如何export QWS_DISPLAY,运行qvfb以及hello程序的。
关于路径的设置,我想你最好先参考一下友善之臂提供的x86-qtopia包里的hello/run-hello脚本
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
从此生活在arm9home的世界中
级别: 新手上路
UID: 10620
精华: 0
发帖: 23
金钱: 225 两
威望: 111 点
综合积分: 46 分
注册时间: 2009-11-10
最后登录: 2010-01-27
5楼  发表于: 2009-11-24 19:43

 回 4楼(kasim) 的帖子

我先运行./hello -qws
系统报错:
Can't open framebuffer device /dev/fb0
Can't open framebuffer device /dev/fb0
driver cannot connect
然后我输入:export QWS_DISPLAY=QVFb:0
然后回车,系统没有报错,无输出;
然后我输入:/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2/bin/qvfb &
系统输出:
[root@localhost try]# Using display 0

[1]+  Done                    /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2/bin/qvfb
然后我继续输入:./hello -qws
系统输出:[root@localhost try]# ./hello -qws
QVFb driver cannot connect

不知道版主问的是这个吗?我有点笨。可能会理解错误呢。版主千万别生气。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
6楼  发表于: 2009-11-24 22:01

[root@localhost try]# Using display 0

[1]+  Done                    /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2/bin/qvfb

看起来是qvfb异常退出了。造成后面的hello虽然指定了使用qvfb作为display driver但却无法找到这个driver而出错。
QWS_DISPLAY应该只对hello有意义,你可以试试先在一个终端窗口里启动qvfb,然后在另外一个终端窗口里执行:
$export QWS_DISPLAY=QVFb:0
$./hello -qws
希望至少能看到一个不一样的出错信息,呵呵
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
从此生活在arm9home的世界中
级别: 新手上路
UID: 10620
精华: 0
发帖: 23
金钱: 225 两
威望: 111 点
综合积分: 46 分
注册时间: 2009-11-10
最后登录: 2010-01-27
7楼  发表于: 2009-11-24 22:36

 回 6楼(kasim) 的帖子

  版主英明啊!!虽然我程序编的不太对,可是这样做真的出结果了!我不用再纠结了!谢谢老大!祝老大工作顺利天天开心。