2010-03-19 115 views
3

我想更新fontconfig到一個較新的版本,但似乎操作系統仍然找到舊的fontconfig,我需要更新的版本來建立qt。我如何讓紅帽5.3看到更新的版本?我不知道這是否有幫助,但是當我搜索fontconfig時,我在一個名爲cache的文件夾中找到了一些文件。當我做yum更新時,它告訴我一切都是最新的,但該版本太舊,並且缺少FcFreeTypeQueryFace。只要給我一個評論,如果這是錯誤的網站,並改變它。如何在Red Hat 5.3中將fontconfig更新爲更新的版本?

+0

爲什麼你需要比Qt 4.2.1更新的版本? – 2010-03-19 20:48:50

+0

,因爲4.2.1中缺少一些功能,例如Qt併發(在qt4.4中引入)和動態屬性,這兩個東西我使用 – 2010-03-19 21:12:26

回答

6

如果你在RHEL或CentOS的5.x的這個錯誤:

/home/esutton/qtsdk-2010.02/qt/lib/libQtGui.so: undefined reference to `FcFreeTypeQueryFace' 
collect2: ld returned 1 exit status 

顯然libQtGui.so失敗嘗試使用libfontconfig`FcFreeTypeQueryFace」的方法。 在版本2.4.2之前,它或者不存在,或者可能在2.4.2版本中更改了簽名。 不知道哪個,但一個更新的版本需要安裝到: 「」「/usr/lib/libfontconfig.so.1」「」

如何解決

下載源,並配置安裝在那裏它希望找到它:

cd /usr/src 
wget http://fontconfig.org/release/fontconfig-2.4.2.tar.gz 
tar -zxf fontconfig-2.4.2.tar.gz 
cd fontconfig-2.4.2 
./configure -prefix=/usr 
make 
make install <- Run as root or use sudo 

這樣做了以後,你需要fontconfig庫的位置添加到您的Qt工程的.pro文件。

LIBS += -L/opt/fontconfig-2.4.2/lib 

這在RHEL 5.3上適用於我。我希望這有幫助!

-Ed

+0

非常感謝!這是我需要的 – 2010-03-26 16:13:12

+0

@Ed:我有點困惑。所以你說你不需要添加fontconfig lib位置,但是你仍然會在下面顯示.pro修改。那麼你需要添加或不? – sivabudh 2010-06-26 00:09:11

+0

完美,謝謝! – 2011-04-16 07:41:33

1

你需要或者

  • 找到一個rpm,也許非紅帽具體之一,擁有的較新的fontconfig和安裝。例如,嘗試rpm.pbone.net

  • 另外,獲得源代碼,並建立和安裝它自己。如果系統中有軟件取決於現有的fontconfig rpm,那麼您將無法卸載yum提供給您的版本。如果是這種情況,那麼不要打擾構建過程的安裝部分,只需構建它並將其保留在原來的位置。然後,您必須確保編譯Qt時使用的本地構建版本的路徑。我並不是說所有這些都可以工作,但是如果沒有rpm選項,那就是我的目標。
+0

Welln我發現了一個鏈接,解釋瞭如何解決它,但事情是操作系統似乎仍然是舊的fontconfig即使我安裝一個新的,這兩個fontconfig似乎在那裏 – 2010-03-19 21:00:10

+0

我遵循這些步驟http://theitdepartment.wordpress.com/2009/03/15/centos-qt-fcfreetypequeryface/ 「但它仍然安裝了,但操作系統和qt仍然看到了舊的,爲什麼是這樣?我發現一個名爲緩存的文件夾包含舊的fontconfig,所以我想知道如果我應該清除緩存,如果我應該卸載舊的如果有一些環境變量仍然指向舊的環境變量。 – 2010-03-19 22:45:11