引言
在虚拟机上安装麒麟系统后,安装了qt5.9.1,只能输入英文和数字不能输入中文注释,编译的程序也不能输入中文。
原因
安装后的麒麟系统自带搜狗输入法,原本可以输入中文,但是qt5.9.1缺少支持搜狗输入法的fcitx插件。所以qt5.9.1中不能输入中文。
解决方法
安装fcitx插件。
网上的解决qt无法输入中文的方法很多,我之前也试过很多,但都没有成功。故而采用下载fcitx源码编译生成动态库的方法,虽然中间波折很多,但是qt5.9.1可以输入中文了。
下面和我一起迎接激动的时刻吧。
首先在麒麟系统的终端输入以下指令查看系统是否含有fcitx-frontend-qt5.
dpkg -L fcitx-frontend-qt5
回车后,认真阅读出现的文本。如果你之前没有安装fcitx-frontend-qt5,系统会提示你还没有安装,如果已经安装了,使用下面的指令查看是否有生成的动态库libfcitxplatforminputcontextplugin.so。
dpkg -L fcitx-frontend-qt5 | grep .so
如果存在,会出现libfcitxplatforminputcontextplugin.so的路径,没有的话那就从下面开始吧。
安装组件
先查看下面的组件是否已经安装
fcitx-libs-dev
libgl1-mesa-dev
libglu1-mesa-dev
libxkbcommon-dev
同时查看系统是否已经安装cmake编译器,因为编译源码用的使cmake编译器。
在终端的命令行输入指令:
dpkg -L fcitx-libs-dev
回车后可以查看是否安装fcitx-libs-dev组件,同样的方法,查看是否安装上面其它的组件。回车后认真阅读出现的信息。也可以使用并列的方式,一次性查找。指令如下:
dpkg -L fcitx-libs-dev libgl1-mesa-dev libglu1-mesa-dev libxkbcommon-dev
然后回车,阅读出现的信息,就可以知道组件安装与否。
下面查看cmake的版本,在命令行输入指令:
cmake --version
回车后,若是安装了cmake可以看到其版本号。若没有安装,输入指令:
sudo apt-get install cmake
上面的准备工作做完之后,下面开始下载源码,下载地址:xxxxxxxxx。
下载之后解压文件到qt安装目录的同级目录下,假如你的qt安装目录在/home下,那么解压后的文件的路径和Qt安装目录在同级目录下。
接下来在终端进入到fcitx-qt5的目录下,执行指令:
cmake .
make
sudo make install
若编译的过程中出现问题如下:
CMake Error at CMakeLists.txt:8 (find_package):Could not find a package configuration file provided by "ECM" (requestedversion 1.4.0) with any of the following names:ECMConfig.cmakeecm-config.cmakeAdd 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 aseparate development package or SDK, be sure it has been installed.-- Configuring incomplete, errors occurred!
那么需要下载组件,extra-cmake-modules_1.4.0.orig.tar.xz,下载地址:xxxxxxxx。下载后解压到fcitx-qt5目录下,fcitx-qt5目录下会出现如下的目录。
nigulasi@nigulasi-virtual-machine:~/fcitx-qt5$ ls
clang-format.sh CMakeFiles COPYING.BSD guiwrapper quickphrase-editor
cmake CMakeLists.txt dbusaddons platforminputcontext README
CMakeCache.txt COPYING extra-cmake-modules-1.4.0 po widgetsaddons
进入extra-cmake-modules-1.4.0 目录,在命令行输入指令:
cd extra-cmake-modules-1.4.0
进入extra-cmake-modules-1.4.0 目录后,编译这个组件,执行如下命令:
cmake .
make
sudo make install
编译后回到上一级目录,即fcitx-qt5的文件夹内,输入指令:
cd ..
返回到上级目录后,重新编译fcitx-qt5插件库,在命令行输入指令:
cmake .
make
sudo make install
如果你看到下面的内容,那么恭喜你,已经生成插件的动态库了。
[ 0%] Built target fcitx-scan-addons.target
[ 0%] Built target f