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

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

2010-11-27 21:56 751 查看
前几天,发现了一个经典的出错信息:“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 (清除无用文件)



然后重新启动系统之后再次运行程序就没有问题了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐