Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2206152
  • 博文数量: 866
  • 博客积分: 14125
  • 博客等级: 上将
  • 技术积分: 10638
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-27 16:53
个人简介

https://github.com/landuochong

文章分类

全部博文(866)

文章存档

2019年(3)

2018年(1)

2017年(10)

2015年(3)

2014年(8)

2013年(3)

2012年(70)

2011年(103)

2010年(360)

2009年(283)

2008年(22)

分类: C/C++

2009-08-03 09:30:27

1.Can't open framebuffer device /dev/fb0      错误

   我在运行quit程序时,打入qvfb& 后,没有界面显示,然后输入下面指令,出现如下错误:
     ./quit -qws
           Can't open framebuffer device /dev/fb0
             Can't open framebuffer device /dev/fb0
             driver cannot connect

         其实问题出在qpe.conf这个文件,里面的变量发生了变化.
         有两中方法解决:
          1.在qvfb之前加上一句export QWS_DISPLAY=QVFb:0;
          2.如果上述方法不行,哪只能从你的备份中把/root/Settings的qpe.conf替换

2.  error while loading shared libraries: libqte.so.2: cannot open shared object file:

          No such   file ordirectory

     # ./xing
   ./xing: error while loading shared libraries: libqte.so.2: cannot open shared object file: No such file ordirectory

          我也遇到过类似的问题,是因为环境变量设置的问题,QTEDIR和LD_LIBRARY_PATH这两个变量一定要指定到编译好QTE库才可以。

        LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

这是我的~/.bashrc最后的环境变量的设置


export LD_LIBRARY_PATH=/usr/local/lib                                                                               
export PATH=$PATH:/usr/include
export PATH=$PATH:.:/s3c2410_linux/host/armv4l/armv4l-unknown-linux/include
export QTDIR=/s3c2410_linux/QT/qt-2.3.7
export TMAKE=/s3c2410_linux/QT/tmake
export TMAKEPATH=$TMAKE/lib/qws/linux-x86-g++
export PATH=$PATH:$TMAKE/bin
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

3.QT 多线程的有关错误 

    类似提示: sinthread.h:27: parse error before `{' token        在引QThread做为基类的地方报错(如 class SinThread: public QWidget,public QThread)

       原因是:找不到支线程的库,和宏 QT_THREAD_SUPPORT没有定义      

       解决方法:在工程文件(*.pro)里添加一行 CONFIG += thread (看到有人这样说,我实验在上面的情况下,不加此项也可以)

在linux上作QT编程时生成的Makefile不完整,多线程时应作如下改动:

   修改Makefile文件:

             CXXFLAGS=。。。。。。 -DQT_THREAD_SUPPORT
               LIBS=。。。。。。 -lqte-mt

             红色字体为需要添加的部分。此时编译即可通过。

4./usr/bin/ld: cannot find -lqte
collect2: ld returned 1 exit status
 出现这个错误原因可能很多,这是链接时库找不到或由于其它的原因(目前我还说不清楚,因为不是完全了解QT的运行机理)

      这次是因为: 在些之前QT/E的程序一直在qvfb 下运行,想重新编译之后在Xwindows上运行而出现的。除了在~/.bashrc中设置的QT/E的环境变量之后在一个单独的脚本做了如下改动    

       #bash set environment for QTX11
    export QTDIR=$PWD/qt-x11-2.3.2
   export PATH=$QTDIR/bin:$PATH
     export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
      

还是出现上达情况,查了资料,加上以下两句

      export TMAKEPATH=$PWD/tmake/lib/linux-g++
      export PATH=$TMAKEPATH:$PATH

之后,重新设置变量,编译运行就没有问题了。


 

阅读(962) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册