1. 程式人生 > >Ubuntu14.04環境下Qt5.5以上版本無法輸入中文的解決教程

Ubuntu14.04環境下Qt5.5以上版本無法輸入中文的解決教程

參考:https://www.cnblogs.com/gcl0909031172/p/8676470.html

1、前言

由於Qt5.4之後對之前的Qt5版本不再二進位制相容,所以網上很多簡單的舊的辦法已經失效了,所以本教程的辦法是重新編譯fcitx-qt5,生成最新的libfcitxplatforminputcontextplugin.so檔案。

 

2、準備工作

(1)安裝fcitx-frontend-qt5

很重要,很多教程裡面沒有這個,導致無法正常輸入中文註釋。不管這個有沒有效,建議安裝。

1 sudo apt-get install fcitx-frontend-qt5

(2)安裝CMake

由於後面編譯檔案的時候,對CMake有具體要求,因此在前面的時候直接將cmake升級到3.0以上。在這裡不建議採用原始碼編譯的方式進行,至於為什麼,那是因為太費事了,建議直接更新源升級即可。

1 sudo apt-get install software-properties-common
2 sudo add-apt-repository ppa:george-edison55/cmake-3.x
3 sudo apt-get update
4 sudo apt-get install cmake

注意:要一條條語句執行,整個過程可能需要一定時間,耐心等待即可。

(3)安裝 fcitx-libs-dev

1 sudo apt-get install fcitx-libs-dev

(4)安裝extra-cmake-modules_1.4.0

由於在編譯fcitx-qt5 原始碼時會報錯,所以必須在準備工作中安裝。

首先到網址:https://launchpad.net/ubuntu/+source/extra-cmake-modules/1.4.0-0ubuntu1中下載extra-cmake-modules_1.4.0.orig.tar.xz,然後解壓,再進行編譯安裝。

在編譯安裝之前需要先設定CMAKE_PREFIX_PATH的環境變數,具體設定有如下幾種可能:

①export CMAKE_PREFIX_PATH="/安裝路徑/Qt5.7.0/5.7/Src/qtbase/"

注意:這主要是針對Qt5.7版本。

②export CMAKE_PREFIX_PATH="/安裝路徑/Qt5.5.0/5.5/gcc_64/lib/cmake/"

根據自己的具體情況選擇,本教程使用的是第二種情況。

編譯安裝的命令如下:

1 cd extra-cmake-modules-1.4.0
2 cmake .
3 make
4 sudo make install

(5)安裝xkbcommon

由於在編譯fcitx-qt5 原始碼時會報錯,所以必須在準備工作中安裝。

首先到網址:http://xkbcommon.org/中下載最新的xkbcommon,本教程下載的是libxkbcommon-0.8.0.tar.xz,然後解壓,再進行編譯安裝。

編譯安裝的命令如下:

1 sudo apt-get install bison
2 cd libxkbcommon-0.8.0
3 ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --disable-x11
4 make
5 sudo make install

注意:如果在安裝的時候提示缺少OpenGL的標頭檔案,可以安裝一下以下的庫:

1 sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev

 

3、下載fcitx-libs原始碼並編譯安裝

網上很多教程使用的是如下方法下載fcitx-libs原始碼:

1 git clone https://github.com/fcitx/fcitx-qt5

其下載的版本比較新,並不適合所有的操作環境,從而導致編譯的時候通不過,比如我的操作環境是:Ubuntu14.04 + Qt5.5.0,按照此方法下載的fcitx-libs原始碼版本,在編譯的過程中就沒有通過。

建議到網址:https://download.fcitx-im.org/fcitx-qt5/中去下載適合自己作業系統的fcitx-libs原始碼版本,本教程下載的是fcitx-qt5-1.1.1.tar.xz。

編譯安裝過程如下: 

(1)先設定PATH的環境變數

1 export PATH="/安裝路徑/Qt5.5.0/5.5/gcc_64/bin":$PATH

(2)解壓

(3)編譯安裝

1 cd fcitx-qt5-1.1.1
2 cmake .
3 make 
4 sudo make install

 

4、後續工作

(1)編譯好的libfcitxplatforminputcontextplugin.so在如下路徑:/home/bme308/fcitx-qt5-1.1.1/platforminputcontext/libfcitxplatforminputcontextplugin.so

將其拷貝到如下兩個路徑:

①/opt/Qt5.5.0/5.5/gcc_64/plugins/platforminputcontexts/

②/opt/Qt5.5.0/Tools/QtCreator/bin/plugins/platforminputcontexts/

注意:第二個路徑對於Qt5.7來說應該是:/opt/Qt5.7.0/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/

命令如下:

1 sudo cp /home/bme308/fcitx-qt5-1.1.1/platforminputcontext/libfcitxplatforminputcontextplugin.so /opt/Qt5.5.0/5.5/gcc_64/plugins/platforminputcontexts/
2 
3 sudo cp  /home/bme308/fcitx-qt5-1.1.1/platforminputcontext/libfcitxplatforminputcontextplugin.so /opt/Qt5.5.0/Tools/QtCreator/bin/plugins/platforminputcontexts/

(2)提高檔案許可權,命令如下:

1 sudo chmod 777 /opt/Qt5.5.0/5.5/gcc_64/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
2 
3 sudo chmod 777 /opt/Qt5.5.0/Tools/QtCreator/bin/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so

(3)配置環境變數,命令如下:

1 echo 'export [email protected]=fcitx' >> .bashrc 
2 echo 'export QT_IM_MODULE=fcitx' >> .bashrc

最好確認下是否配置好,命令如下:

1 udo gedit .bashrc

在檔案的末尾檢視

(4)關機重啟。