s***m@gmail.com
deepin
2026-01-05 18:09 非常感谢分享!编译 linuxdeployqt 并拷贝完整插件,libfcitx5platforminputcontextplugin.so 用同版本 Qt 编译很重要。使用 LD_LIBRARY_PATH 和 QT_QPA_PLATFORM=xcb 可避免 Wayland 问题。请问打包 AppImage 时,fcitx5 插件会自动拷贝吗?
Reply Like 0 View the author


中文 
工具
其中,
linuxdeployqt需要编译,从源码中解除glibc的版本限制。然后,统一放到/usr/local/bin/这个目录下,方便调用。打包
AppImage时,最好特别强调一下wayland库的调用及支持,当然,最重要的是把插件拷贝齐全:linuxdeployqt ./rimetool.AppDir/usr/share/applications/newReader.desktop -appimage -extra-plugins=iconengines,platformthemes/libqgtk3.so -exclude-libs=libzstd.so输入法动态链接库
这个文件
libfcitx5platforminputcontextplugin.so要放到Qt及QCreator下,实现对fcitx5的支持。但是,要用当前的
Qt工具链来编译这个库,因为:这个库要与你的Qt-App对接,而跨版本可能会不兼容。编译 fcitx5-qt
基础工具链
sudo apt install g++ gcc cmake extra-cmake-modules libgl1-mesa-devQt环境变量
profile中添加:记得:
source ~/.profile拉源码
修改CmakeLists
最外层的
CMakeLists.txt:依赖列表
sudo apt install libxkbcommon-dev libvulkan-dev qt6-wayland-dev编译过程纪录
另一种选择
打包所有依赖,临时赋予环境变量给
App-Bin可能是另一种选择。setup.sh
这个脚本,是执行程序的脚本,它被桌面快捷方式文件调用:
显然,
QT_QPA_PLATFORM=xcb是为了避坑wayland,在这里也可以不添加它。而
export LD_LIBRARY_PATH=/opt/rimetools/Q-t/lib:/opt/rimetools/Q-t/plugins则是临时环境变量,供程序寻址。newReader.desktop
这里显示了调用关系,而且指定了图标目录,程序类别。
安装与卸载
注意,这里使用了
Dash,因为现在很多发行版默认使用它取代Bash,语法细节有所区别。总之,在
Linux下,搞应用程序发布,这可能是最简洁的方式了。