admin管理员组

文章数量:1651280

由于搜狗输入法依赖fcitx,所以我们解决该问题的核心操作是为QtCreator提供支持fcitx

本系统环境说明:ubuntu22.04、Qt5.12.8、Qt6.6.1(我安装了Qt5、Qt6)

一、尝试拷贝系统自带libfcitxplatforminputcontextplugin.so到Qt安装目录/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/

参考链接:https://blog.51cto/wangguangjie/4753356

注意:我只拷贝到了上述博客的路径1中了,并且我拷贝完成后依旧无法输入中文,可能原因是命令安装的fcitx版本只支持Qt4编写的QtCreator与目前主流的QtCreator不兼容(目前主流的QtCreator均使用Qt编写)

二、下载fcitx-qt5自己编译

下载链接:GitHub - fcitx/fcitx-qt5: Fcitx support for Qt5

步骤:

解压源码,创建编译目录build,然后执行cmake命令,如下图:

解决上图编译中报错:

参考链接:cmake fcitx-qt5时报错"ECM" - SegmentFault 思否

sudo apt install mesa-common-dev libglu1-mesa-dev

安装完后接着编译 ,如下图:

参考链接:https://wwwblogs/brifuture/p/9634219.html 

sudo apt install libxkbcommon-dev

接着编译,接下来会出现下图错误:

因此我们需要更改环境变量添加CMAKE_PREFIX_PATH,因为我同时安装了Qt5和Qt6所以添加了两个路径(注意:每次只能有一个生效,另一个需要注释)。当然也可以不使用环境变量指定,在用cmake命令编译时通过-DCMAKE_PREFIX_PATH=/opt/Qt/Qt5.12.8/5.12.8/gcc_64指定,二选其一。

由于我是双Qt,并且我只需要编译插件,所以我对源码的顶层CMakeLists.txt做了以下更改

主要是打开了Qt6编译  关闭Qt library编译以及更改了Qt版本变,编译成功如下图:

 接下来就是拷贝编译生成的库,以及重新启动QtCreator

sudo cp libfcitxplatforminputcontextplugin.so  /opt/Qt/Qt5.12.8/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/

sudo cp libfcitxplatforminputcontextplugin-qt6.so  /opt/Qt/Qt6.6/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/

本文标签: 搜狗输入法输入中文QtCreator