• 7842阅读
  • 16回复

程序无法执行 [复制链接]

上一主题 下一主题
离线la_fisher
 

只看楼主 倒序阅读 楼主  发表于: 2009-07-27
      刚接触QT不久的菜鸟,请大家勿笑。我的目标是在一个工控板上装一个linux内核,然后,使用QT-Embedded,运行图形界面的程序。下边是我的操作过程:

1> 在工控板安装Ubuntu 9.04 Server版,并配置build-essential
2> 下载qt-embedded-linux-opensource-src-4.5.2.tar.gz,然后拷贝到工控板的硬盘中,并解压
3> 执行 configure 配置,没有添加参数
4> 执行 make编译
5> 执行 make install安装
6> 配置环境变量,打开~/.bashrc,添加以下3行:
  QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.2
    PATH=/usr/local/Trolltech/QtEmbedded-4.5.2/bin:$PATH
    LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.5.2/lib:$LD_LIBRARY_PATH

7> 在grub的menu.linux修改VGA选项,打开FrameBuffer,(添加VGA=0x303),并重启
8> 执行demos/books例子(直接执行,没有加qws),出现以下提示:
QWSSocket::connectToLocalFile could not connect:: Connection refused

上边的步骤可能都不对,我实在是太菜了,都是在网上搜到的,请各位大侠指点下,看看究竟是哪里出问题了。多谢了。
离线cnnbboy

只看该作者 1楼 发表于: 2009-07-27
在PC上运行qte的程序需要qvfb
离线la_fisher

只看该作者 2楼 发表于: 2009-07-27
也就是说,我需要装一个qvfb?
离线la_fisher

只看该作者 3楼 发表于: 2009-07-27
补充:dev目录下有fb0和fb1文件,说明framebuffer是打开了的。
离线cnnbboy

只看该作者 4楼 发表于: 2009-07-27
对,你需要一个qvfb,而且这个qvfb的版本要大于或等于qte的版本
离线la_fisher

只看该作者 5楼 发表于: 2009-07-27
请问下: QTE的运行环境,必须要安装qvfb吗?

qvfb好像是一个模拟环境,现在我的工控板就是我的目标板,我装了QTE,然后开了framebuffer,还是不能运行程序么?

另外:不知道这种情况下怎么安装qvfb?

我试了以下两种方法:
1> 拷贝一个qvfb执行程序(另外的计算上安装QT-X11时编译出来的),到目标板,但是不能执行。
2> 拷贝qvfb目录到QTE源代码的tools目录,并编译,无法通过。

先多谢cnnbboy回复。
离线cnnbboy

只看该作者 6楼 发表于: 2009-07-27
qvfb是用于PC上qte的程序模拟的,你的工控版能装ubuntu9.04?那么强大?x86架构的??
离线la_fisher

只看该作者 7楼 发表于: 2009-07-27
是的,X86的,装的是服务器版(没有图形界面的)。也就是说,不装qvfb也是可以的,qvfb是用于X11版的QT来模拟运行的,这么理解对么?
离线la_fisher

只看该作者 8楼 发表于: 2009-07-27
另:我用framebuffer的那个例子测试了下,证实framebuffer是正确打开了的。
离线cnnbboy

只看该作者 9楼 发表于: 2009-07-27
那理论上你可以直接装qt的x11版--。。。前提你有x11图形库。qte来弄x86我还真没碰到过你这样搞
离线cnnbboy

只看该作者 10楼 发表于: 2009-07-27
离线la_fisher

只看该作者 11楼 发表于: 2009-07-27
好的,我看一下。先谢谢您。
离线kevin619

只看该作者 12楼 发表于: 2009-07-27
和我现在的情况一样
期待大侠给出答案  期待…………
离线la_fisher

只看该作者 13楼 发表于: 2009-07-28
答案已经有了,是一个权限问题,打开fb设备需要root权限,这样就需要加sudo,然而安装QTE的时候数据文件的权限root不能访问,这两者是冲突的。解决问题的方法就是修改数据文件的权限。

1. 修改文件权限
   sudo chmod -R 777 /lib/
   sudo chmod -R 777 /usr/lib
   sudo chmod -R 777 /usr/local/Trolltech/QtEmbedded-4.5.2/
   suro chmod -R 777 /tmp/
   sudo rm -rf /tmp/qtembedded*

2. 运行程序时需要 在前边加sudo,在后边加 -qws
   如: sudo ./books -qws
   如果提示没有权限(qt embedded data之类的提示),就表示有文件的
   权限不对,继续把相关文件的权限都改了。
离线cnnbboy

只看该作者 14楼 发表于: 2009-07-28
结果能运行了吧
离线la_fisher

只看该作者 15楼 发表于: 2009-07-28
多谢cnnbboy 的热心帮助。

程序已经可以运行了。不知道这里能否结贴?
离线bhwbj
只看该作者 16楼 发表于: 2009-07-28
qt-embedded是要配置configure选项的,具体请参照我以前的帖子
I'm Back!!
当加班已成为习惯
msn:bhwshx@hotmail.com

欢迎交流,人妖除外!!
快速回复
限100 字节
 
上一个 下一个