1. 程式人生 > >每日小結(2)

每日小結(2)

tool for dir provided .org ever fail tps grep

中文輸入法無法在 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 中的打開項目:

技術分享圖片

然後就把這個 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

每日小結(2)