网上的旧办法失效的原因在于使用apt-get install命令安装的fcitx-libs-qt5版本太老,自带的libfcitxplatforminputcontextplugin.so 与Qt 5.4以后的版本不兼容,因而需要重新编译fcitx-qt5,编译方法如下:
1. 安装依赖库
sudo apt-get install cmake fcitx-libs-dev libgl1-mesa-dev libglu1-mesa-dev libxkbcommon-dev
2. 设置Qt环境变量
(注意:不同Qt版本的安装路径可能不相同,例如:在我的机器上,Qt 5.9.2的安装路径为:/opt/Qt5.9.2/5.9.2,而Qt 5.10.0的安装路径则为:${HOME}/Qt5.10.0/5.10.0/
,其中${HOME}
是我的home目录。因此,需要你自己正确查找Qt的安装位置)
echo "export PATH=${HOME}/Qt5.10.0/5.10.0/gcc_64/bin:${PATH}" >> ~/.bashrc && source ~/.bashrc
3. 下载fcitx-qt5源码
git clone https://github.com/fcitx/fcitx-qt5
4. 编译安装
(我将fcitx-qt5源码下载到/home/davidhopper目录中,这个需要根据自己的实际路径加以更改)
cd /home/davidhopper/fcitx-qt5
cmake .
make
sudo make install
如果执行cmake .
时出错,请参考https://my.oschina.net/lieefu/blog/505363中的方法加以解决。在我的电脑里,就遇到了如下错误:
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
,解压到适合的目录,执行下述命令安装:
cd extra-cmake-modules-1.4.0
cmake .
make
sudo make install
之后,继续执行第4步。
注意:安装较新版本的WPS后,若在修改*.doc, *.xls, *.ppt等文件时,无法使用中文输入法,也是因为在WPS内部使用了Qt
5.4以上版本的控件所造成,只要顺利完成第4步,重新打开WPS程序后,就可以正常使用中文输入法。
5.将fcitx-qt5/platforminputcontext/目录下的libfcitxplatforminputcontextplugin.so 文件复制到Qt安装目录下的platforminputcontexts子目录中(安装时如果不改变路径,一般为:/opt/Qt5.9.2/5.9.2/gcc_64/plugins/platforminputcontexts),重新使用Qt编译的程序就能正常使用fcitx输入法;将libfcitxplatforminputcontextplugin.so文件复制QtCreator安装目录下的platforminputcontexts子目录中(安装时如果不改变路径,一般为:/opt/Qt5.9.2/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts),重启QtCreator就可以正常使用fcitx输入法,具体命令如下:
cd /opt/Qt5.9.2/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
sudo cp /home/davidhopper/fcitx-qt5/platforminputcontext/libfcitxplatforminputcontextplugin.so .
sudo chmod 775 libfcitxplatforminputcontextplugin.so
cd /opt/Qt5.9.2/5.9.2/gcc_64/plugins/platforminputcontexts
sudo cp /home/davidhopper/fcitx-qt5/platforminputcontext/libfcitxplatforminputcontextplugin.so .
sudo chmod 775 libfcitxplatforminputcontextplugin.so
原文地址:
https://blog.csdn.net/davidhopper/article/details/78299196
需要的文件包:
链接:https://pan.baidu.com/s/1UmadVnAYcqFu4Qk9GVSuPg
提取码:yf4r