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