QWSSocket::connectToLocalFile could not connect:: Connection refused

本文介绍了Qt中出现QFontDatabase无法找到字体目录错误的原因及解决方法。通常此问题发生在交叉编译时未正确配置安装路径。通过设置环境变量或创建软链接可以解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值