Qt经典出错信息之QFontDatabase: Cannot find font directory

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 这样的命令就可以了

原文链接: http://www.cuteqt.com/blog/?p=86

你可能感兴趣的:(嵌入式,qt,Path,library)