我創建的Qt的靜態版本5.2.0庫使用這些配置選項(Ubuntu的12.04):在Linux上構建靜態Qt5:如何在部署時處理字體?
-opensource -confirm許可證 -force-pkg配置 - 釋放 -static - 前綴 '/家/ juzzlin/QT5' -no-ICU -opengl桌面 -no-巧舌如簧 -accessibility -nomake例子 -nomake測試 -qt-zlib的 -qt-libpng的 -qt-的libjpeg -qt-SQL sqlite的 -qt-XCB -qt-PCRE -v
現在的問題是,當我已經編譯和鏈接我對這些的Qt庫的應用程序,它會嘗試加載字體從Qt安裝路徑/home/juzzlin/qt5/lib/fonts
。這應該如何工作?該應用程序適用於我用來編譯它的機器,但不適用於其他機器。我也不想用應用程序將Qt內容安裝到某些系統目錄,因爲應用程序不應該這樣做。
這是錯誤我得到:
QFontDatabase:找不到字體目錄/ home/juzzlin/QT5/lib中/字體 - 在Qt的正確安裝?
如何強制它在其他目錄中搜索字體?
我不明白的另一件事是,爲什麼我在與Windows交叉編譯時沒有同樣的問題MXE?在編譯Qt庫時,它使用幾乎相同的配置選項。
我不知道qt.conf,所以謝謝! :)這解決了我的問題。 – juzzlin
但是,我仍然不明白,爲什麼我不用擔心這個問題,如果我使用預編譯的Qt庫並動態鏈接或使用靜態庫進行交叉編譯。爲什麼這些庫在某些硬編碼位置搜索字體目錄?它一直工作。我在這裏錯過了什麼? – juzzlin
我不是100%確定爲什麼,但我可以推測...我相信Qt 5使用fontconfig來管理字體,並且在不起作用時會退回到/lib/fonts。也許有一個配置選項可以告訴Qt 5在使用xcb平臺插件時使用fontconfig。 –
lnthomas