您的位置:首页 > 产品设计 > UI/UE

[转]Qt经典出错信息之:“undefined reference to 'FcFreeTypeQueryFace' ”详解 收藏

2012-11-28 11:05 417 查看
转载自:http://blog.csdn.net/qter_wd007/archive/2010/11/27/6040082.aspx

Qt经典出错信息之:“undefined reference to 'FcFreeTypeQueryFace' ”详解 收藏

前几天,发现了一个经典的出错信息:“undefined reference to 'FcFreeTypeQueryFace' ”。鼓捣了一阵,查找了一些资料,顺利解决。总结一下吧。

一、用的Linux是Cent OS 5.0版,下载Qt的最新版SDK,Qt 4.7.0,流程如下:

1. 进入Nokia的Qt的网站,选择:

下载 Qt SDK for Linux/X11 32-bit** (422 MB)

具体地址是:http://get.qt.nokia.com/qtsdk/qt-sdk-linux-x86-opensource-2010.05.1.bin

2. 下载下来之后,在系统中进行安装,流程如下:

chmod u+x qt-sdk-linux-x86-opensource-2010.05.1.bin (设置权限)

./qt-sdk-linux-x86-opensource-2010.05.1.bin(运行安装程序)3. 根据向导的提示一步一步完成安装

安装好之后,,默认就会测试Qt Creator的运行,以验证安装是否成功;同时桌面上会增加一个Qt Creator的图标,双击可运行。

至此安装完毕。

4. 检查并测试环境是否正确的建立

这个主要就是检查环境变量是否设置正确。可以找到Qt Demo所在的目录,用Qt Creator打开一个默认的例子程序,编译运行一下,如果提示“No valid Qt version set Set one in Tools/Options”,就需要进入该目录进行设置,方法比较简单,不再赘述了。

二、错误的产生

验证安装正确,并且环境搭建成功后。运行测试程序,发现报错,错误提示为:“undefined reference to 'FcFreeTypeQueryFace' ”。

根据经验得知,这种错误一般就是由于系统所带的某个库版本与Qt要求的这个库版本不一致造成的,而一般是要升级系统自带的版本到更高的版本就能解决。

三、解决方法

在网上查阅相关资料后,发现这个问题跟fontconfig库有关,Cent OS 5.0上的默认是2.4.1的,而Qt则要求要2.4.2以上版本才可以。

于是从http://cgit.freedesktop.org/fontconfig/下载最新的2.8.0的源码。

把它拷贝进系统中,然后依次执行如下命令:

tar -zxvf fontconfig-2.8.0.tar.gz -C /mytmp (解压到mytmp文件夹中)

./configure --sysconfdir=/etc --prefix=/usr --mandir=/usr/share/man

make install

make clean (清除无用文件)

然后重新启动系统之后再次运行程序就没有问题了。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/qter_wd007/archive/2010/11/27/6040082.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: