您的位置:首页 > 编程语言 > Qt开发

QT4.5.3编译的一些错误

2013-02-28 21:59 405 查看
错误一

undefined symbol: _ZN7QWidget8qwsEventEP8QWSEvent

这个错误,可以通过指定QTDIR和LD_LIBRARY_PATH来避免

$ export QTDIR=/usr/local/Trolltech/QtEmbedded-4.5.3
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib

错误二

出错信息一般为

Error opening framebuffer device /dev/fb0

QScreenLinuxFb::connect: No such file or directory

这种情况发生最多的是编译Qt-Embedded的x86版本,希望在qvfb上运行应用时

使用者在

第一步运行qvfb后

第二步运行./myapp -qws

出现以上的提示错误

原因是Qt-Embedded在查找系统的显示设备时,默认去寻找LinuxFb,也即Linux的/dev/fb0设备,但是如果Qt- Embedded安装了其它显示设备,比如qvfb,则可以在qvfb上显示,但是需要一个插件(或者说驱动,可能会和设备驱动混淆),使Qt- Embedded能使用qvfb。 为了作到这一点,需要在编译Qt-Embedded时的configure命令加上如下选项

./configure -plugin-gfx-qvfb -plugin-kbd-qvfb -plugin-mouse-qvfb 或

./configure -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb

如果,你不想重新编译Qt-Embedded,也可以单独编译qvfb的gfxdrivers,命令如下

$ cd qt-embedded-linux-opensource-src-4.5.3/src/plugins/gfxdrivers/qvfb/

$/usr/local/Trolltech/QtEmbedded-4.5.3/bin/qmake

$ sudo make install

对应所在的路径,在大家的机器上可能不尽相同

原文地址
http://sites.cuteqt.com/cuteqt/Home/qtblog/qt-jing-dian-chu-cuo-xin-xi-zhierror-opening-framebuffer-device-dev-fb0
错误三


QFontDatabase: Cannot find font directory XXX/lib/fonts - is Qt installed correctly? 

关于qt font的环境变量:export QT_QWS_FONTDIR=$QTDIR/lib/fonts,  这个没有对

在你的sh文件中增加

export QT_QWS_FONTDIR=/usr/local/Trolltech/QtEmbedded-4.5.3-arm/lib/fonts

 以上是我的QtEmbedded-4.5.3字库文件地址

以下是我的环境文件内容,在QtEmbedded-4.5.3-arm/setenv-arm.sh

QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.3-arm

PATH=/usr/local/Trolltech/QtEmbedded-4.5.3-arm/bin:$PATH

LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.5.3-arm/lib:$LD_LIBRARY_PATH

export QWS_DISPLAY="LinuxFb:/dev/fb0"

export QT_QWS_FONTDIR=/usr/local/Trolltech/QtEmbedded-4.5.3-arm/lib/fonts

export QWS_DISPLAY="LinuxFb:mmWidth640:mmHeight480:0"

export QWS_SIZE="640x480"

export PATH QTEDIR LD_LIBRARY_PATH

echo "set qt-arm-env successful"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: