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


1、前言

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

 

2、准備工作

(1)安裝fcitx-frontend-qt5

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

1 sudo apt-get install fcitx-frontend-qt5
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
CMake

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

(3)安裝 fcitx-libs-dev

1 sudo apt-get install fcitx-libs-dev
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
extra-cmake-modules_1.4.0

(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
xkbcommon

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

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

 

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

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

1 git clone https://github.com/fcitx/fcitx-qt5
下載fcitx-libs源碼

其下載的版本比較新,並不適合所有的操作環境,從而導致編譯的時候通不過,比如我的操作環境是: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
設置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 XMODIFIERS=@im=fcitx' >> .bashrc 2 echo 'export QT_IM_MODULE=fcitx' >> .bashrc
配置環境變量

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

1 udo gedit .bashrc
確認是否配置好

在文件的末尾查看

(4)關機重啟。

 

后記:歡迎各路大神批評指正!

2018.3.30


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM