zoukankan      html  css  js  c++  java
  • 中文输入法无法在 QtCreator(Linux) 中输入汉字

    中文输入法无法在 QtCreator(Linux) 中输入汉字

    环境

    • system: Deepin 15.7
    • Qt Creator 4.7.0 (GCC 5.3.1)

    解决方法

    1. 下载 fcitx-qt5 源码,并进入相应目录:
    $ git clone https://github.com/fcitx/fcitx-qt5.git
    $ cd fcitx-qt5
    
    1. 安装 cmake,并运行:
    $ sudo apt install cmake
    $ cmake ./
    
    1. 如出现类似 “Could not find a package configuration file provided by "ECM" (requested
      version 1.4.0)” 这样的错误,使用命令安装 sudo apt install extra-cmake-modules 后再执行第二步。
      但是这样安装的版本是最新的,建议安装 1.4.0 版本:
    $ wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/extra-cmake-modules/1.4.0-0ubuntu1/extra-cmake-modules_1.4.0.orig.tar.xz
    $ tar xvf extra-cmake-modules_1.4.0.orig.tar.xz
    $ cd extra-cmake-modules_1.4.0.orig.tar.xz
    $ cmake .
    $ make
    $ sudo make install
    
    1. 如果出现 “Could NOT find XKBCommon_XKBCommon (missing: XKBCommon_XKBCommon_LIBRARY XKBCommon_XKBCommon_INCLUDE_DIR) (found version "")” 这样的错误,使用命令安装 sudo apt install libxkbcommon-dev 后再执行第二步。同样的,建议安装 0.5.0 版本:
    $ wget http://xkbcommon.org/download/libxkbcommon-0.5.0.tar.xz
    $ tar xf libxkbcommon-0.5.0.tar.xz
    $ cd libxkbcommon-0.5.0
    $ ./configure --prefix=/usr --disable-x11
    $ make
    $ sudo make install
    

    最后出现提示:

    -- Configuring done

    -- Generating done

    -- Build files have been written to: /home/future/src/fcitx-qt5

    就说明 cmake 完成。

    1. 执行命令:
    $ make
    $ sudo make install
    

    Everything done.

    但是,如果运行 sudo make install 的命令失败,像我一样出现这样的提示:

    AutoMoc subprocess error
    ------------------------
    The moc process failed to compile
      "/home/future/src/fcitx-qt5/platforminputcontext/main.h"
    into
      "/home/future/src/fcitx-qt5/platforminputcontext/fcitxplatforminputcontextplugin_autogen/EWIEGA46WW/moc_main.cpp".
    

    那么你需要其他的方法来构建 fcitx 插件了。我从 A case study: how to compile a Fcitx platforminputcontext plugin for a proprietary software that uses Qt 5 这篇文章中受到启发,使用已经安装好的 Qt5.9 和 Qt Creator 编译 fcitx-qt5 项目,最终成功编译得到 platforminputcontext/libfcitxplatforminputcontextplugin.so 库文件。

    步骤,选择 QtCreator 中的打开项目:

    open-cmake-project

    然后就把这个 cmake 项目当成普通的 qt 项目编译,最终在 build-fcitx/platforminputcontext/ 目录下面就能够看到构建好的 libfcitxplatforminputcontextplugin.so 文件。

    最后需要把库文件复制到相应的文件夹中,经过几次尝试后,我把上述库文件放到 ${Qt_InstallDir}/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts 目录下面,最后就可以在 Qt Creator 中输入中文了。

    如果还有其他的问题,建议参考 500Days-Of-Github解决 Debian 中 RStudio 和 Mendeley 下 Fcitx 输入法不能使用的问题

    参考

    1. bug-report-comment-1
    2. cmake-configuration-1
    3. 500Days-Of-Github
    4. 解决 Debian 中 RStudio 和 Mendeley 下 Fcitx 输入法不能使用的问题
    5. A case study: how to compile a Fcitx platforminputcontext plugin for a proprietary software that uses Qt 5
    6. How to import CMake project in Qt Creator
  • 相关阅读:
    WCF
    WCF
    C#
    ASP.NET MVC
    WCF
    关于函数的参数
    关于函数的return
    移动Web开发技巧汇总(转)
    关于reset.css的那些事
    关于iphone自动播放音频和视频问题的解决办法
  • 原文地址:https://www.cnblogs.com/brifuture/p/9634219.html
Copyright © 2011-2022 走看看