Qt经典出错信息之QFontDatabase: Cannot find font directory
原文:http://www.cuteqt.com/blog/?p=86
出错信息类似这样:
QFontDatabase: Cannot find font directory /usr/local/Trolltech/QtEmbedded-4.5.1/lib/fonts - is Qt installed correctly?
这种情况发生的最多的是在交叉编译的时候./configure 命令没有加 -prefix选项,导致默认的安装路径为/usr/local/Trolltech,即使你通过nfs或者拷贝到你嵌入式设备上的某个路径(比如 /foo)时,去寻找的路径还是/usr/local/Trolltech 。
下面作一个演示。我安装的目录是/usr/local/Trolltech目录,现在我把它移动到/usr/local/Grolltech目录下,看看什么效果
$ mv /usr/local/Trolltech /usr/local/Grolltech
$ qvfb &
$ ./wiggly -qws
./wiggly: symbol lookup error:
./wiggly: undefined symbol: _ZN7QWidget8qwsEventEP8QWSEvent
这个错误,可以通过指定QTDIR和LD_LIBRARY_PATH来避免
$ export QTDIR=/usr/local/Grolltech/QtEmbedded-4.5.1
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib
$ ./wiggly -qws
QFontDatabase: Cannot find font directory /usr/local/Trolltech/QtEmbedded-4.5.1/lib/fonts - is Qt installed correctly?
解决方法为作一个软链接到/usr/local/Trolltech
$ ln -s /usr/local/Grolltech/ /usr/local/Trolltech/
在嵌入上也是一样的,类似 ln -s /mnt /usr/local/Trolltech 这样的命令就可以了
本文介绍了Qt中出现QFontDatabase无法找到字体目录错误的原因及解决方法。通常此问题发生在交叉编译时未正确配置安装路径。通过设置环境变量或创建软链接可以解决此问题。
2697

被折叠的 条评论
为什么被折叠?



