彻底解决ubuntu14.04下,QT5.5版本之后不能输入中文注释的问题

时间:2022-04-08 22:16:16

首先说下机主的环境:

系统:ubuntu14.04.05,

qt版本:QT5.7.0。(目前测试的是,5.5以后的版本是都可以解决问题的。)

转自:http://www.cnblogs.com/cposture/p/5397694.html

1. 步骤

1.1 编译 fcitx-qt5 源码

  1. 编译fcitx-qt需要cmake,安装cmake命令,如果已经安装,请略过;
    sudo apt-get install cmake
  2. 安装 fcitx-libs-dev;
    sudo apt-get install fcitx-libs-dev
  3. 设置qmake的环境变量,这一步很重要且环境变量的值因人而异
    3.1. 首先确定你的Qt的安装目录,我这里是~/Qt5.7.0/,你的或者可能在/home/<用户名>/Qt5.7.0/
    3.2. export PATH="/5.7/gcc_64/bin":$PATH
  4. 下载fcitx-libs 源码
    4.1. 原文的 git clone git@github.com:fcitx/fcitx-qt5.git 不可行,需要修改为https://github.com/fcitx/fcitx-qt5
    4.2. git clone https://github.com/fcitx/fcitx-qt5(这里需要说明一下,原文章博主的那个版本在最新版本的系统上可能会出现一个编译错误,不想找的可以直接下载我的这个版本点击打开链接。无耻的收取了一个积分,别介意哈。哈哈)
  5. 编译 fcitx-qt5
cd fcitx-qt5
cmake .(这里是有个点的,一定要记住哦)
make
sudo make install

1.2. 拷贝 so 文件

  1. 编译完成后,需要把编译得到的 libfcitxplatforminputcontextplugin.so 拷贝到 Qt5.5安装目录的 Tools/QtCreator/bin/plugins/platforminputcontexts 或 Qt5.7.0安装目录的 Tools/QtCreator/lib/Qt/plugins/platforminputcontexts,注意:两个目录根据你的Qt版本而定,Qt安装目录因人而异。
  2. 复制:
    Qt 5.5:cp platforminputcontext/libfcitxplatforminputcontextplugin.so /Tools/QtCreator/bin/plugins/platforminputcontexts
    Qt 5.7:cp platforminputcontext/libfcitxplatforminputcontextplugin.so /Tools/QtCreator/lib/Qt/plugins/platforminputcontexts
    我这里是:cp platforminputcontext/libfcitxplatforminputcontextplugin.so ~/software/Qt5.7.0/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts

如果你们不愿意自己编译,可以下载我编译好的.so文文件点击打开链接。别说贵哦,好不容易折腾出来的。

1.3 添加额外的环境变量(这个可以不要,如果按照编译方法安装无效,再添加上都可以。)

echo 'export XMODIFIERS=@im=fcitx' >> .bashrc echo 'export QT_IM_MODULE=fcitx' >> .bashrc

大功告成!

2. 遇到的问题

2.1 安装CMake失败

  1. 问题描述:sudo apt-get install cmake 执行到 92 % 时提示下载失败,原因是找不到 IP 地址。
  2. 问题解决:觉得应该是安装包源的问题,于是修改了系统默认的源。
    System Settings -> Software & Updates -> Ubuntu Software -> Download from 从原来的 China 改为 Main server,最后再
    sudo apt-get update
    sudo apt-get install cmake

2.2 CMake 错误

  1. 问题描述:

    CMake Error at CMakeLists.txt:8 (find_package):Could not find a package configuration file provided by "ECM" (requested  version 1.4.0) with any of the following names:ECMConfig.cmakeecm-config.cmake  Add the installation prefix of "ECM" to CMAKE_PREFIX_PATH or set "ECM_DIR"  to a directory containing one of the above files.  If "ECM" provides a  separate development package or SDK, be sure it has been installed.-- Configuring incomplete, errors occurred!
  2. 解决方法:
    2.1. 到这个页面 https://launchpad.net/ubuntu/+source/extra-cmake-modules/1.4.0-0ubuntu1 下载 extra-cmake-modules_1.4.0.orig.tar.xz
    2.2. 解压后编译安装

    cd extra-cmake-modules-1.4.0cmake .makesudo make install

2.3 安装 extra-cmake-modules-1.4.0 失败

  1. 问题描述:(本质是说找不到QT5)

    $:~/Downloads/extra-cmake-modules-1.4.0$ cmake .CMake Warning at tests/CMakeLists.txt:28 (find_package):  Could not find a package configuration file provided by "Qt5LinguistTools"  with any of the following names:Qt5LinguistToolsConfig.cmakeqt5linguisttools-config.cmake  Add the installation prefix of "Qt5LinguistTools" to CMAKE_PREFIX_PATH or  set "Qt5LinguistTools_DIR" to a directory containing one of the above  files.  If "Qt5LinguistTools" provides a separate development package or  SDK, be sure it has been installed.-- Looking for Sphinx Documentation Builder...-- Sphinx Documentation Builder not found - documentation will not be built (see http://sphinx-doc.org/)-- Configuring done-- Generating done-- Build files have been written to: /home/cposture/Downloads/extra-cmake-modules-1.4.0
  2. 解决方法:
    设置 CMAKE_PREFIX_PATH 环境变量 为 qtbase 目录(<Qt安装目录>/5.7/Src/qtbase/),我这里为:

    export CMAKE_PREFIX_PATH="~/Qt5.7.0/5.7/Src/qtbase/"

    如果还是不行,则修改为

    export CMAKE_PREFIX_PATH="/安装路径/Qt5.7.0/5.7/gcc_64/lib/cmake/"
  3. 或export PATH="/安装路径/Qt5.7.0/5.7/gcc_64/bin":$PATH,为了避免麻烦的话,直接在命令行输入这一行就好了。

2.4 缺少 xkbcommon 包

  1. 问题描述:

     -- Found PkgConfig: /usr/bin/pkg-config (found version "0.26") -- Could NOT find XKBCommon_XKBCommon (missing:  XKBCommon_XKBCommon_LIBRARY XKBCommon_XKBCommon_INCLUDE_DIR) CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):  Could NOT find XKBCommon (missing: XKBCommon_LIBRARIES XKBCommon) (Required is at least version "0.5.0") 
  2. 解决方法:
    2.1. 到 http://xkbcommon.org/ 下载最新版的 xkbcommon
    2.2. 解压后,

    sudo apt-get install bison./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --disable-x11makesudo make install