每日小結(2)
中文輸入法無法在 QtCreator(Linux) 中輸入漢字
環境
- system: Deepin 15.7
- Qt Creator 4.7.0 (GCC 5.3.1)
解決方法
- 下載 fcitx-qt5 源碼,並進入相應目錄:
$ git clone https://github.com/fcitx/fcitx-qt5.git
$ cd fcitx-qt5
- 安裝 cmake,並運行:
$ sudo apt install cmake
$ cmake ./
- 如出現類似 “Could not find a package configuration file provided by "ECM" (requested
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
- 如果出現 “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 完成。
- 執行命令:
$ 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 輸入法不能使用的問題。
參考
- bug-report-comment-1
- cmake-configuration-1
- 500Days-Of-Github
- 解決 Debian 中 RStudio 和 Mendeley 下 Fcitx 輸入法不能使用的問題
- A case study: how to compile a Fcitx platforminputcontext plugin for a proprietary software that uses Qt 5
- How to import CMake project in Qt Creator
每日小結(2)