博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决 QtCreator 3.5(4.0)无法输入中文的问题
阅读量:7211 次
发布时间:2019-06-29

本文共 5494 字,大约阅读时间需要 18 分钟。

目录

解决 QtCreator 3.5.1无法输入中文的问题

环境是ubuntu 15.10

ubuntu软件源中下载安装的fctix-libs-qt5现在没有用,版本太旧了。
自己下载fctix-qt5的源码来编译即可。

1、获取fctix-qt5源码

我没有找到fcitx-qt5git仓库地址,只找到了源码包的下载地址。

先下载源码包,并解压。

wget https://download.fcitx-im.org/fcitx-qt5/fcitx-qt5-1.0.5.tar.xztar -xJf fcitx-qt5-1.0.5.tar.xz

找到了git仓库地址

git clone http://github.com/fcitx/fcitx-qt5.git

2、生成Makefile文件

这一步很简单,进入源码目录,然后新建一个build的目录并进入,然后使用cmake来生成Makefile

cd fcitx-qt5mkdir build && cd buildcmake ..

这一个步骤产生了几个错误,这和系统环境有关。如果你的没有产生错误,后面就不用看了

2.1、没有找到"ECM"包配置文件报错

错误信息

cmake ..-- The C compiler identification is GNU 5.2.1-- The CXX compiler identification is Clang 3.7.0... ...-- Detecting CXX compile features - doneCMake 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!See also "/home/o/fcitx/fcitx-qt5/CMakeFiles/CMakeOutput.log".

解决办法

先下载cmake的扩展模块包

wget https://launchpadlibrarian.net/189487929/extra-cmake-modules_1.4.0.orig.tar.xztar -xJf extra-cmake-modules_1.4.0.orig.tar.xz

进入其中,然后执行cmake .来生成Makefile文件

这一步需要指定两个变量

//The directory containing a CMake configuration file for Qt5Core.Qt5Core_DIR:PATH=/home/o/program/qt_5.5/qt_5.5.1_x64/5.5/gcc_64/lib/cmake/Qt5Core//The directory containing a CMake configuration file for Qt5LinguistTools.Qt5LinguistTools_DIR:PATH=/home/o/program/qt_5.5/qt_5.5.1_x64/5.5/gcc_64/lib/cmake/Qt5LinguistTools

2016年08月17日更新

上面一步其实直接指定Qt_DIR目录也就可以了。

#只需要指定Qt5_DIR路径即可cmake -DQt5_DIR=/home/o/pragram/qt_5.7/5.7/gcc_64/lib/cmake/Qt5 .

生成了Makefile之后,直接sudo make install来安装就可以了。

2.2、找不到Qt5包配置文件的错误

报错信息

CMake Error at CMakeLists.txt:29 (find_package):  Could not find a package configuration file provided by "Qt5" (requested  version 5.1.0) with any of the following names:    Qt5Config.cmake    qt5-config.cmake  Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR"  to a directory containing one of the above files.  If "Qt5" provides a  separate development package or SDK, be sure it has been installed.-- Configuring incomplete, errors occurred!See also "/home/o/fcitx/fcitx-qt5/build/CMakeFiles/CMakeOutput.log".

这个错误很好解决,设置变量Qt5_DIR即可

cmake -DQt5_DIR=/home/o/program/qt_5.5/qt_5.5.1_x64/5.5/gcc_64/lib/cmake/Qt5 ..

2.3、libxkbcommon问题

错误信息

o@o-pc:~/fcitx/fcitx-qt5/build$ cmake -DQt5_DIR=/home/o/program/qt_5.5/qt_5.5.1_x64/5.5/gcc_64/lib/cmake/Qt5  ..-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28") -- Found XKBCommon_XKBCommon: /usr/lib/x86_64-linux-gnu/libxkbcommon.so (found version "0.5.0") -- Found XKBCommon: /usr/lib/x86_64-linux-gnu/libxkbcommon.so (found suitable version "0.5.0", minimum required is "0.5.0") found components:  XKBCommon -- checking for module 'fcitx-utils'--   package 'fcitx-utils' not foundCMake Error at /usr/share/cmake-3.2/Modules/FindPkgConfig.cmake:344 (message):  A required package was not foundCall Stack (most recent call first):  /usr/share/cmake-3.2/Modules/FindPkgConfig.cmake:506 (_pkg_check_modules_internal)  CMakeLists.txt:32 (pkg_check_modules)-- Configuring incomplete, errors occurred!See also "/home/o/fcitx/fcitx-qt5/build/CMakeFiles/CMakeOutput.log".

这个问题的解决如下

先下载libxkbcommon-0.5.0.tar.xz,然后解压编译

http://xkbcommon.org/download/libxkbcommon-0.5.0.tar.xztar -xJf libxkbcommon-0.5.0.tar.xz

这个使用./configure --disable-x11来生成Makefile。禁用x11是因为我机器上的x11版本过高的原因。

编译的时候可能会报错

make  YACC     src/xkbcomp/parser.c./build-aux/ylwrap: 行 176: yacc: 未找到命令Makefile:1522: recipe for target 'src/xkbcomp/parser.c' failedmake: *** [src/xkbcomp/parser.c] Error 127

需要yacc的支持。这个工具包含在软件包bison中。

o@o-pc:~/fcitx/libxkbcommon-0.5.0$ sudo apt-get install bison

然后直接make && make install安装就是。

2.4、'fcitx-utils' not found错误

这个错误是因为我们没有安装fcitx-libs-dev的缘故,所以解决的办法就是安装它就是。

错误信息

o@o-pc:~/fcitx/fcitx-qt5/build$ cmake -DQt5_DIR=/home/o/program/qt_5.5/qt_5.5.1_x64/5.5/gcc_64/lib/cmake/Qt5  ..-- checking for module 'fcitx-utils'--   package 'fcitx-utils' not foundCMake Error at /usr/share/cmake-3.2/Modules/FindPkgConfig.cmake:344 (message):  A required package was not foundCall Stack (most recent call first):  /usr/share/cmake-3.2/Modules/FindPkgConfig.cmake:506 (_pkg_check_modules_internal)  CMakeLists.txt:32 (pkg_check_modules)-- Configuring incomplete, errors occurred!

解决办法

sudo apt-get install fcitx-libs-dev

3、编译出动态库

经过上面的步骤,生成了Makefile文件后,接下来的步骤就很简单了,直接make来编译即可。

makeScanning dependencies of target FcitxQt5DBusAddons_automoc[  4%] Automatic moc for target FcitxQt5DBusAddons... ... 中间步骤省略Linking CXX shared module libfcitxplatforminputcontextplugin.so[100%] Built target fcitxplatforminputcontextplugin

进入构建目录下的platforminputcontext目录,即可看到生成的libfcitxplatforminputcontextplugin.so文件

将其拷贝到QtCreator安装目录下的..../QtCreator/bin/plugins/platforminputcontexts目录下即可。

2016年08月17日更新

QtCreator 4.0的目录结构有一点小变化,需要将其拷贝到QtCreator目录下的QtCreator/lib/Qt/plugins/platforminputcontexts目录中。

o@o-pc:~/fcitx/fcitx-qt5/build/platforminputcontext$ lsCMakeFiles  cmake_install.cmake  fcitxplatforminputcontextplugin_automoc.cpp  libfcitxplatforminputcontextplugin.so  Makefile  moc_main.cpp  moc_qfcitxplatforminputcontext.cpp
cp libfcitxplatforminputcontextplugin.so /home/o/program/qt_5.5/qt_5.5.1_x64/Tools/QtCreator/bin/plugins/platforminputcontexts/

输入中文示例

转载地址:http://rarum.baihongyu.com/

你可能感兴趣的文章
ssh 实体关系分析确立(ER图-实体关系图)
查看>>
shell语法简单介绍
查看>>
iOS捕获异常,常用的异常处理方法
查看>>
Struts2(九)OGNL标签一与Struts2标签
查看>>
双网卡绑定-bond0
查看>>
利用扩展事件进行调优和Troubleshooting PPT分享
查看>>
finger-guessing game:1场景搭建
查看>>
axure7.0 汉化包下载
查看>>
OC开发_Storyboard——iPad开发
查看>>
NSURLSession使用说明及后台工作流程分析
查看>>
record
查看>>
linux浏览器,邮件客户端,输入法,双屏设置,应用软件,gnome-screenshot/scrot -s截图,office...
查看>>
Mysql修改设置root密码的命令及方法
查看>>
android Graphics(四):canvas变换与操作
查看>>
IOS 生成本地验证码
查看>>
sql duplicate key
查看>>
pip 安装psycopg的错误
查看>>
JNI中的内存管理(转)
查看>>
IOS status bar
查看>>
VSTO学习笔记(三) 开发Office 2010 64位COM加载项
查看>>