1. 程式人生 > >解決Ubuntu14.04下Qt5.6搜狗輸入法中文fcitx

解決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

安裝完成,關機重啟。