Posts Tagged ‘Redhat’

解决Fc*相关的undefined reference链接错误

笔者最近在CentOS上编译Qt时发现了一个奇怪的链接错误, 搜索了一下发现这个问题在Redhat系列的OS里非常普遍, 包括CentOS5, RHEL4/5都有类似的问题。 典型的错误信息是(RHEL5上的):
/opt/qtsdk-2009.01/qt/lib/libQtGui.so: undefined reference to `FcFreeTypeQueryFace’
collect2: ld returned 1 exit status
像笔者使用的CentOS4, 出的错误信息就更多了, 不过也无外乎Fc开头的一系列函数。
检查了系统, fontconfig相关的库和头文件都安装好了, 按说不应该出这样的问题。 经过研究, 发现问题出在fontconfig的版本上。 原来Qt里使用到FC比较新的特性, 有些函数要在高版本的fontconfig里才能找到, 而Redhat系列的系统向来是更新慢得出了名的。 像CentOS4里的fontconfig居然还是1.0.4版, 而RHEL5里用的是fontconfig 2.1.x。 `FcFreeTypeQueryFace’ 这个函数是在2.4.2版本才引入fontconfig的。
相关的release文档: http://fontconfig.org/release/ChangeLog-2.4.2
解决的方法当然是升级fontconfig, 可以拿来fontconfig的源码包重新编译。 下载地址是:
http://fontconfig.org/release/
用新的版本覆盖掉老版本就ok了。

Read More...

Tags: , , ,
Posted on July 26th, 2010 in Linux技术, Qt技术 | No Comments ».