• 解决debian Qt Creator fcitx无法输入中文


    环境

    • debian 11
    • Qt6.3.1
    • gcc (Debian 10.2.1-6) 10.2.1 20210110
    • cmake version 3.18.4

    我的Qt Creator无法输入中文,参考其他人的博客,
    解决方案是:
    libfcitxplatforminputcontextplugin-qt6.so放到下面的路径:

    <QT_PATH>/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
    

    是你的安装路径。

    但是找到的包都不能用,可能是不兼容,只能自己编译了。

    这里给个我编译好的 https://github.com/sixsixQAQ/fcitx-qt5.git

    编译

    到github下载fcitx-qt5的源代码包

    git clone git@github.com:fcitx/fcitx-qt5.git
    cd fcitx-qt5
    

    创建构建目录并进入

    mkdir build && cd build
    

    下来要根据情况更改顶层CMakeLists.txt,比如这里我选择编译Qt6,就把option中的Qt6设为ON,把Qt5设为OFF。

    $ vim ../CMakeLists.txt
    
    cmake_minimum_required(VERSION 3.1)
    
    project(fcitx-qt5)
    
    set(FcitxQt5_VERSION 1.1.0)
    set(REQUIRED_QT_VERSION 5.1.0)
    set(REQUIRED_QT6_VERSION 6.0.0)
    
    find_package(ECM 1.4.0 REQUIRED NO_MODULE)
    
    set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
    
    option(ENABLE_QT5 "Enable Qt5" OFF)
    option(ENABLE_QT6 "Enable Qt6 im module" ON)
    option(ENABLE_LIBRARY "Qt library" On)
    
    include(GNUInstallDirs)
    include(FeatureSummary)
    include(GenerateExportHeader)
    include(CMakePackageConfigHelpers)
    include(ECMSetupVersion)
    ......
    

    这里有两个选项,设置编译Qt5和Qt6的。

    根据情况,设置CMKAE_PREFIX_PATH,比如这里我编译Qt6,就设为Qt6的gcc_64路径:

    export CMAKE_PATH_PATH="/software/lib/qt/6.3.1/gcc_64"
    

    编译

    cmake ../
    cmake --build .
    

    不出意外应该就成功了,报错应该会提示你缺少库,需要安装开发包(一般带dev)。
    根据提示用apt去搜索,比如缺少fcitx的,
    就:

    apt-cache search fcitx
    

    发现里面有

    fcitx-libs-dev - Flexible Input Method Framework - library development files
    
    apt install fcitx-libs-dev
    

    缺其他的同理,注意清空build再编译,不然会因为缓存而继续报错。

    编译好放到地方就OK。

  • 相关阅读:
    docker搭建EMQX集群+nginx转发TCP
    async的初始理解以及例子
    Pytorch2.0发布了,向下兼容,加一句代码,性能翻番
    python 名字首字母统计
    Java服务器应用常用启动参数详解
    《动机与人格》笔记(二)——认识和理解的欲望
    Java中List不同实现类的对比
    离散数学 学习 之 一阶逻辑基本概念 ( 四 )
    进程间通讯-共享内存
    DOM事件流+阻止冒泡事件+dom包含
  • 原文地址:https://blog.csdn.net/qq_51470638/article/details/127004794