[QT_003] Qt5.12.0 在ubuntu18.04 LTS 无法输入中文(已解决)
[已解决] Qt5.12.0 在ubuntu18.04 LTS 无法输入中文1.本人使用环境说明:新安装的ubuntu18.04 LTS系统(虚拟机下),新安装的Qt5.12.0.(已经可编译Qt自带的例子那种)。2.问题本质:Qt自带的输入法插件版本老旧,与当前系统不适配,需要编译(fcitx-qt5)源码,生成libfcitxplatforminputcontextplugin.so文件,而后
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
更多推荐
所有评论(0)