1.本人使用环境说明:

新安装的ubuntu18.04 LTS系统(虚拟机下),新安装的Qt5.12.0.(已经可编译Qt自带的例子那种)。

2.问题本质:

Qt自带的输入法插件版本老旧,与当前系统不适配,需要编译(fcitx-qt5)源码,生成libfcitxplatforminputcontextplugin.so文件,而后替换掉Qt5自带的即可。

3.开始编译:

3.1 下载fcitx-qt5,检查是否安装cmake,cmake --version命令。

下载地址:

git clone https://github.com/fcitx/fcitx-qt5,https://github.com/fcitx/fcitx-qt5
3.2如果什么依赖都不缺的话,就可以直接编译fcitx-qt5,奈何新装的环境缺一大堆。以下是缺少的依赖,可以先安装这些文件,你可以使用apt-get install+包名,以命令形式安装,也可以自己下载源码cmake手动编译安装。当然,能使用命令的使用命令,不能再手动编译。以下是缺少的需要安装的依赖,保证你的系统有可用的镜像源:我的另一篇文章应该有说过,可以找找。
sudo apt-get install fcitx-frontend-qt5  (命令安装)
sudo apt-get install libxkbcommon-x11-dev (命令安装)
源码下载地址:https://xkbcommon.org/
sudo apt-get install extra-cmake-modules_1.4.0  (手动cmake编译安装)
源码下载地址:https://launchpad.net/ubuntu/+source/extra-cmake-modules/1.4.0-0ubuntu1
sudo apt-get install fcitx-libs-dev  (命令安装)
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev  (命令安装)
3.3正式编译fcitx-qt5之前,在你的当前系统用户下,或者全局系统变量中添加你的Qt安装路径。

可以这样:

sudo vim ~/bashrc

也可以这样:

vim /etc/profile

以下是我的路径: export PATH=$PATH:/home/zhang/Qt5.12.0/5.12.0/gcc_64/bin,编辑完之后,可以使用source ~/bashrc 或者source /etc/profile 命令使文件生效。

3.4正式开始编译

1.解压 fcitx-qt5-master
先 cd fcitx-qt5-master , 看见一个叫CMakeLists.txt文件,在这里我做了小的修改,是因为报错,找不到Qt的一些文件,所以需要将Qt安装路径加进来,让它能找到这些文件。

#设置find_package的.cmake搜索路径
SET(CMAKE_PREFIX_PATH /home/zhang/Qt5.12.0/5.12.0/gcc_64/lib/cmake)

保存文件 ,而后开始编译:

sudo cmake .
sudo make
sudo make install

之后,在同级的platforminputcontext中找到libfcitxplatforminputcontextplugin.so,记得修改 libfcitxplatforminputcontextplugin.so权限。

chmod -R 777 libfcitxplatforminputcontextplugin.so
3.5文件替换(2个地方)

将libfcitxplatforminputcontextplugin.so 文件分别替换掉你的Qt安装路径:

/Qt5.8.0/5.8/gcc_64/plugins/platforminputcontexts/

/Qt5.8.0/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/

里面同名的文件即可。最后,重启Qt,验证输入即可。

4.总结

自己手动编译需要掌握的只知识是比较多的,首先得会操作vim编辑器,比如修改添加环境变量。还需要会修改文件权限。还需要掌握基础的编译命令,比如cmake . ,make , make install 等等。另外,包与包之间的依赖你是无法知道的,也是在安装的时候见招拆招,缺什么,装什么。所以需要细心,还需要有发现、分析、解决问题的能力。最重要的一点,解决问题以后,要总结,才能有进步。这是我个人的愚见,有什么不对的地方还请大家指正。最后奉上我自己编译的文件,注意使用环境。
链接永久有效,除非我取消:

https://pan.baidu.com/s/1oklQTP29IEJQmKZ033G_-g 
提取码:lic1
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐