解决Qt5 Creator无法切换输入法(fcitx),Ubuntu中不能使用搜狗输入法录入汉字问题

原创
2015/09/12 18:17
阅读数 5.7W

2020年7月24日修订

安装使用Ubuntu 20.04后,搜狗输入法没有跟上来,还不兼容20.04,使用优麒麟制作的sogouimebs,用了一周后,崩溃,几乎卡死网页,重装下也不能修复

搜狗输入法正常使用期间,使用本文方法编译出的libfcitxplatforminputcontextplugin.so,拷贝到Qt Creator相关目录下,也不能呼唤出输入法,现在决定放弃fctix 的搜狗输入法,使用系统自带的ibus-libpinyin,从此不用再费周章折腾Qt Creatror下的输入法问题了!

附资料:Ubuntu20.04LTS安装搜狗输入法 https://zhuanlan.zhihu.com/p/142206571

Ubuntu20.04安装百度输入法 https://zhuanlan.zhihu.com/p/143115656

 

本文档2019年1月23日修正,Ubuntu18.10,Qt5.12.0测试通过

本文档2017年6月1日修正,Ubuntu16.04,Qt5.9.0测试通过

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。如果你懒得自己编译,可以下载我编译的 libfcitxplatforminputcontextplugin.so

看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.12.0/5.12.0/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

 

展开阅读全文
打赏
15
28 收藏
分享
加载中
lieefu博主

引用来自“jxgzlws”的评论

我在编译QT5.5.0时也出现了“Parse error at "IID”的错误。
Ubuntu12.04 博主是删除了哪些目录文件通过的?
目的是删除cmake生成的缓存文件,最好的办法是把整个目录删除,重新git clone一个新代码目录。
2016/09/18 09:11
回复
举报
我在编译QT5.5.0时也出现了“Parse error at "IID”的错误。
Ubuntu12.04 博主是删除了哪些目录文件通过的?
2016/09/18 08:53
回复
举报
make2: *** [platforminputcontext/CMakeFiles/fcitxplatforminputcontextplugin_automoc] 错误 1
make1: *** [platforminputcontext/CMakeFiles/fcitxplatforminputcontextplugin_automoc.dir/all] 错误 2
make: *** [all] 错误 2
2016/09/07 09:33
回复
举报
lieefu博主

引用来自“blinky”的评论

有i386版本的时候,消息通知我哈15910595873.@163.com , 3q
用64位操作系统很久了,没有i386环境
2016/07/25 08:16
回复
举报
有i386版本的时候,消息通知我哈15910595873.@163.com , 3q
2016/07/24 13:45
回复
举报
本人小菜,lz 能不能编一个 i386版本的?? 我现在解决不了的问题是:我在ubuntu中直接用apt-get装libxkbcommon,只能装0.4.1版本的,然后手动装了你给的 0.5.0版本,然后我再次在fcitx目录cmake 还是报错: Could NOT find XKBCommon: Found unsuitable version "0.4.1", but required is at least "0.5.0" (found /usr/lib/i386-linux-gnu/libxkbcommon.so)

当时装0.5.0的时候,结果显示:“Libraries have been installed in: /usr/lib/x86_64-linux-gnu”,(装的是64位版本??)
2016/07/24 13:44
回复
举报
求助个问题 我在debian上安装了Qt5 Creator打开项目编辑的时候好像键盘布局不对,按下的键和打出来的字不一样,有谁遇到过吗?
2016/05/19 14:10
回复
举报

引用来自“可星”的评论

首先感谢
然后这个能用但是我的shadowsock-qt5经常会奔溃,不知道这里哪里出问题了
你可以参考这篇文章:http://www.jianshu.com/p/23aa4769b4ef
2016/05/16 19:53
回复
举报
首先感谢
然后这个能用但是我的shadowsock-qt5经常会奔溃,不知道这里哪里出问题了
2016/05/14 13:47
回复
举报
经测试,发现需要安装ibus-qt4后,就可以输入中文。不影响输入法
2016/05/07 21:14
回复
举报
更多评论
打赏
64 评论
28 收藏
15
分享
返回顶部
顶部