• 解决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。

  • 相关阅读:
    Nginx【反向代理负载均衡动静分离】--中
    武汉工程大学——C++ 开发环境应用
    金融领域:怎么保持电力系统连续供应?
    Gartner:55%的组织,正在试用ChatGPT等生成式AI
    《WEB安全渗透测试》(30)RCE漏洞挖掘技巧
    【无标题】
    android翻转效果时钟
    集合~List
    LeetCode --- 1518. Water Bottles 解题报告
    C++中的bind与function
  • 原文地址:https://blog.csdn.net/qq_51470638/article/details/127004794