之前用的一直是系统源里的qt creator,版本有点旧了,所以去官网下载了个新版。
qt6出来前,要想让自已手动安装的qt creator支持中文输入,只需要去系统目录
/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts下,把
libfcitxplatforminputcontextplugin.so给复制到qt creator的plugins相关目录下既可。
而新版的qt creator用的是qt6,这一个方法不灵了。因为ubuntu22.04根本没有fcitx5-frontend-qt6这个包。我去网上搜这个包,装了之后却不能用,我都打算放弃了的时候,突然发现我的系统自带的fcitx版本其实是fcitx4。
相当令我无语的发现,于是我用sudo apt install fcitx5安装fcitx5,想装个五笔,却发现没有fcitx5-table-wubi这个包,只能去装个fcitx5-rime和rime-data-wubi,又是一通麻烦的配置后才用上了五笔,这里就略过不提了。
我用debian上下载的fcitx5-frontend-qt6,解压后放到qt creator目录下,发现仍然无法支持中文输入,于是我决定自行编译fcitx5-qt。因此我打算安装qt6,为了和新版的qt creator匹配,所以得装新版的qt6,而官方源里的版本太旧了,所以我直接去qt官网在线安装。因为qt官网下载太慢,所以我选择了通过清华的源安装,结果清华的源有问题,安装到一半就失败。之后换成南京大学的源才搞定。
从github上clone fcitx/fcitx5-qt项目(我实际是从gitee上clone的),用新装的qt6带的qt creator载入fcitx5-qt项目,cmake报错,根据报错的提示我先后用apt安装了extra-cmake-modules,libfcitx5config-dev,libfcitx5utils-dev这些包,结果仍然报错,似乎是版本不匹配导致的。
我看了看系统的fcitx5版本,是5.0.14,而它要求的版本是5.0.16。我在fcitx5-qt目录里git checkout 5.0.14后,仍然报错,还是要5.0.16。我也不知道这是什么毛病,为什么5.0.14版会要求5.0.16的依赖包版本,我感觉小版本不一样应该没什么兼容问题吧,于是直接去CMakeLists.txt文件里,把
find_package(Fcitx5Utils 5.0.16 REQUIRED)
改成
find_package(Fcitx5Utils 5.0.14 REQUIRED)
终于跳过了这个报错。
之后就按需要改配置文件,反正改都改了。如下:
option(ENABLE_QT4 "Enable Qt 4" Off)
option(ENABLE_QT5 "Enable Qt 5" Off)
option(ENABLE_QT6 "Enable Qt 6" On)
option(BUILD_ONLY_PLUGIN "Build only plugin" On)
再清空cmake缓存,之后的编译很顺利,将编译好的
libfcitx5platforminputcontextplugin.so放到QT安装目录
/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts,再启动qt creator,终于可以在qt creator里输入中文了。