[轉]Qt經典出錯信息之:“undefined reference to 'FcFreeTypeQueryFace' ”詳解 收藏

轉載自: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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章