• 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

  • 相关阅读:
    AtCoder Regular Contest 066 F Contest with Drinks Hard
    AtCoder Grand Contest 002 D
    AtCoder Regular Contest 076 F
    AtCoder Grand Contest 004 C
    AtCoder Regular Contest 067 F
    转载:Unity3D游戏对象消失enabled、Destroy与active的区别
    Unity3d-AngryBots实例解读
    本类对象的引用作为参数,可以直接访问其私有成员
    构建完全二叉树、控制台打印二叉树
    转载:C++类内存分布
  • 原文地址:https://www.cnblogs.com/gcl0909031172/p/8676470.html
Copyright © 2020-2023  润新知