2016年6月8日修正,ubuntu 16.04 Qt5.7.0 以及 Qt5.6.1均測試通過
在Qt5.3之前,我發布過解決辦法 解決Qt5 Creator無法切換輸入法(fcitx),不能錄入漢字問題,Qt5.4以及Qt5.5,舊辦法失效,原因是Qt5.4后對之前Qt5版本不再二進制兼容,libfcitxplatforminputcontextplugin.so 需要編譯最新的fcitx-qt5。
看fcitx-qt5項目的更新日志,是在1.0.3版本時解決的這個問題,寫本篇博客時,我git clone到的是1.0.4版本。
編譯fcitx-qt需要cmake,安裝cmake命令,如果已經安裝,請略過。
sudo apt-get install cmake
安裝 fcitx-libs-dev
sudo apt-get install fcitx-libs-dev
設置qmake的環境變量:
export PATH="/home/lieefu/Qt5.6.1/5.6/gcc_64/bin":$PATH
下載fcitx-libs源碼:
git clone git@github.com:fcitx/fcitx-qt5.git
編譯方法:
cd fcitx-qt5 cmake . make sudo make install
最后把編譯得到 libfcitxplatforminputcontextplugin.so 拷貝到 Qt5.5安裝目錄的 Tools/QtCreator/bin/plugins/platforminputcontexts
Qt5.6的目錄是 Tools/QtCreator/lib/Qt/plugins/platforminputcontexts
大功告成!
??? 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.cmake
??????? ecm-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!
?
遇到上述錯誤處里方法:
這個頁面 https://launchpad.net/ubuntu/+source/extra-cmake-modules/1.4.0-0ubuntu1 下載 extra-cmake-modules_1.4.0.orig.tar.xz
?https://launchpad.net/ubuntu/+source/extra-cmake-modules/5.18.0-0ubuntu1? extra-cmake-modules_5.18.0.orig.tar.xz
?
解壓后:
cd extra-cmake-modules-1.4.0 cmake . make sudo make install
?
??? CMake Error at /home/lieefu/Qt5.5.0/5.5/gcc_64/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:9 (message):
????? Failed to find "GL/gl.h" in "/usr/include/libdrm".
?
處理方法:
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
?
-- 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")
?
處理方法:
Ubuntu 16.04中可以執行 sudo apt install libxkbcommon-dev 安裝
wget http://xkbcommon.org/download/libxkbcommon-0.5.0.tar.xz tar xf libxkbcommon-0.5.0.tar.xz ./configure —prefix=/usr —libdir=/usr/lib/x86_64-linux-gnu —disable-x11 make sudo make install
編譯libxkbcommon用到yacc,如果沒有這個命令,會遇到下面的錯誤,yacc在 bison軟件包中
sudo apt-get install bison
????
YACC???? src/xkbcomp/parser.c
??? ./build-aux/ylwrap: line 176: yacc: command not found
??? make: *** [src/xkbcomp/parser.c] Error 127
?
本文轉載自:https://my.oschina.net/lieefu/blog/505363
版權歸作者所有
?