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

posted @ 2018-03-30 15:27  编程路上的小飞龙  阅读(2006)  评论(3编辑  收藏  举报