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 XMODIFIERS=@im=fcitx' >> .bashrc 2 echo 'export QT_IM_MODULE=fcitx' >> .bashrc
最好確認下是否配置好,命令如下:
1 udo gedit .bashrc
在文件的末尾查看
(4)關機重啟。
后記:歡迎各路大神批評指正!
2018.3.30

