zoukankan      html  css  js  c++  java
  • 记录ubuntu14.04 qt-5.11.1使用搜狗输入法输入中文的过程【转载】

    1、主要是编译fcitx-qt5 源代码,中间遇到一些问题,需要解决

    无法切换中文输入的原因是当前下载的QtCreator中没有适配当前输入法框架(ibus、fcitx)的动态库

    解决方法:
    一、安装对应的输入法插件
    1、如果是fcitx:
    ubuntu18.04:sudo apt-get install libfcitx-qt5-dev
    拷贝系统路径上的(/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts) libfcitxplatforminputcontextplugin.so
    2、如果是ibus:一般都支持,不支持的话,在上面的一样路径里,把libibusplatforminputcontextplugin.so 拷贝出来,如果没有,用sudo apt-get install qt5-default 把Qt5装一遍,也就有了。

    二、安装完毕之后,将对应的动态库拷贝出来,放到当前Qt的安装目录下的两个文件里面:
    1、:~/Qt5.11.2/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts
    2、:~/Qt5.11.2/5.11.2/gcc_64/plugins/platforminputcontexts
    注意:我安装的版本为5.11,并放到home目录下了,若版本、安装地址不一样,请自行更改路径。

    更新,切换为系统ubuntu14.04后安装qt5.8,发现上面的方法行不通,又尝试一下手动编译的方式,记录一下:
    个人觉得上面的方式行不通的原因在于14.04默认的qt5版本过低,所生成的 libfcitxplatforminputcontextplugin.so对于高版本的无法支持。

    三、如果拷贝了libfcitxplatforminputcontextplugin.so到指定的两个目录都不行,可考虑手动编译fcitx-qt5
    1、安装:extra-cmake-modules
    git clone https://github.com/KDE/extra-cmake-modules.git
    下载完毕后进入对应目录:
    make
    sudo make install
    2、安装:xkbcommon
    https://lists.freedesktop.org/archives/wayland-devel/2019-February/040102.html
    下载完毕后解压,进入对应目录:
    ./configure --disable-x11
    make
    sudo make install
    3、到github上下载:fcitx-qt5 的源码包
    git clone https://github.com/fcitx/fcitx-qt5.git
    下载完毕后进入对应目录,这里注意:如果系统上的qt版本低于5.5,而你使用的Qt版本在5.5以上,要使用该Qt版本的qmake方可编译通过:export PATH=/home/jackie/Qt5.8.0/5.8/gcc_64/bin:$PATH, 注意将该路径修改为你安装Qt的路径。继续:
    mkdir build
    cd build
    cmake … (这里是两点,不知道为什么写文章的时候显示两点,发布文章后变成3点了。。。。)
    make
    sudo make install
    如果过程没有出现错误会在build文件夹的platforminputcontext生成一个libfcitxplatforminputcontextplugin.so 将其拷贝到第二步所说的两个文件夹即可。

    2、说一下中间遇到的问题,首先是ecm 和 xkbcommon两个的依赖问题,

    修改源代码根路径下面的cmakelists.txt

     3、编译时候遇到的问题

    `dbus_timeout_get_interval@LIBDBUS_1_3'
    /opt/Qt5.11.1_x64/5.11.1/gcc_64/lib/libQt5DBus.so.5.11.1: undefined reference to `dbus_message_set_auto_start@LIBDBUS_1_3'
    /opt/Qt5.11.1_x64/5.11.1/gcc_64/lib/libQt5DBus.so.5.11.1: undefined reference to `dbus_connection_set_watch_functions@LIBDBUS_1_3'
    /opt/Qt5.11.1_x64/5.11.1/gcc_64/lib/libQt5DBus.so.5.11.1: undefined reference to `dbus_message_iter_get_element_type@LIBDBUS_1_3'
    /opt/Qt5.11.1_x64/5.11.1/gcc_64/lib/libQt5DBus.so.5.11.1: undefined reference to `dbus_message_set_reply_serial@LIBDBUS_1_3'
    /opt/Qt5.11.1_x64/5.11.1/gcc_64/lib/libQt5DBus.so.5.11.1: undefined reference to `dbus_message_iter_open_container@LIBDBUS_1_3'
    /opt/Qt5.11.1_x64/5.11.1/gcc_64/lib/libQt5DBus.so.5.11.1: undefined reference to `dbus_message_iter_next@LIBDBUS_1_3'
    /opt/Qt5.11.1_x64/5.11.1/gcc_64/lib/libQt5DBus.so.5.11.1: undefined reference to `dbus_message_get_path@LIBDBUS_1_3'

    这个时候需要自己编译dbus

    编译参考如下,

    2)解决方法
    安装最新的libdbus库
    源码下载地址
    https://dbus.freedesktop.org/releases/dbus/
    选择libdbus.1.13.8下载: https://dbus.freedesktop.org/releases/dbus/dbus-1.13.8.tar.xz
    拷贝到ubuntu14.04中,执行以下步骤,编译、安装dbus-1.13.8.tar.xz

    $ mkdir dbus //dbus-1.13.8的安装目录
    $ tar -xf dbus-1.13.8.tar.xz
    $ cd dbus-1.13.8
    $ ./configure --prefix=/home/workspace/tools/dbus
    $ make
    $ make install

    ————————————————
    版权声明:本文为CSDN博主「郭老二」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/u010168781/article/details/89681674

    4、最后启动qtcreator 提示关于xkbcomm动态库的错误,然后把这个动态库拷贝到/opt/Qt5.11.1_x64/Tools/QtCreator/lib/Qt/lib目录下,就可以了

  • 相关阅读:
    剑指Offers 题目1384:二维数组中的查找
    剪切板获取图片并上传
    VSCode TSlint + Prettier 实现代码的格式化
    Element Table 合并列
    Linux下安装Redis
    transfer 增加拖拽排序组件封装
    在VSCode中使用Git处理文件冲突(pull不能从服务器拉取代码)
    Vue的 transition在v-for的嵌套下怎么用
    Vant的picker组件放在popup中,导致ref获取不到
    小工具
  • 原文地址:https://www.cnblogs.com/eastgeneral/p/12015428.html
Copyright © 2011-2022 走看看