解決Ubuntu14.04下Qt5.6搜狗輸入法中文fcitx
一、前言
目的:編譯生成libfcitxplatforminputcontextplugin.so,放到Qt資料夾下,實現Qt Creater中的快捷鍵輸入法切換以及搜狗中文輸入。
本文理論上可以使用其他Ubuntu版本和Qt5.4以上版本。
本篇也是我自己的筆記,不對別人負責也要對我自己負責,如果發現用這個方法不能成功,歡迎大家指正。
二、準備工作
1、安裝fcitx-frontend-qt5
很重要,我折騰了很久。其他教程都說不知道有沒有用,我這裡說,有用。
sudo apt-get install fcitx-frontend-qt5
2、安裝CMake
原始碼或apt-get都可以,這裡建議用原始碼編譯安裝。將來你可能會使用CMake編譯其他東西,有些對CMake 的版本有要求,乾脆點,一勞永逸。
3、安裝fcitx-libs-dev
sudo apt-get install fcitx-libs-dev
三、寫在編譯fcitx-qt5之前
在編譯fcitx-qt5的過程中,會出現一些錯誤,請仔細閱讀cmake的錯誤提示。
這裡對常見錯誤進行整理,其他刁鑽的錯誤歡迎反饋。
1、首先在進行編譯之前,請把系統中Qt5的路徑新增到系統變數中。這是因為編譯時需要用到qt的一些元件。
export PATH="/安裝路徑/Qt5.6.2/5.6/gcc_64/bin":$PATH
2、安裝extra-cmake-modules_1.4.0
3、安裝xkbcommon
下載最新的xkbcommon,至少需要0.5.0之後的版本。fcitx-qt5的cmake會對版本進行檢查。
4、安裝libgl1-mesa-dev和libglu1-mesa-dev
CMake Error at /home/lieefu/Qt5.5.0/5.5/gcc_64/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:9 (message):
Failed to find "GL/gl.h" in "/usr/include/libdrm".
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
四、fcitx-qt5
在頁面的releases中選擇合適版本。本文中的環境,請選擇1.1.1版本。
原因:新的1.2版本,可能由於升級了編譯器或者其他原因,導致編譯到60%左右的時候出現HOST_PATH之類的報錯。
cmake .
make
sudo make install
編譯通過後,將fcitx-qt5/plugins中的libfcitxplatforminputcontextplugin.so檔案複製到以下兩個路徑中:
/安裝路徑/Qt5.8.0/5.8/gcc_64/plugins/platforminputcontexts/
/安裝路徑/Qt5.8.0/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
複製完成後,不要忘記把檔案加上可執行許可權!
chmod 777 libfcitxplatforminputcontextplugin.so
安裝完成,關機重啟。