You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为其他Linux设备构建Lazarus Qt5程序 解决libQt5Pas.so.1缺失报错

报错根因

libQt5Pas.so.1是Lazarus IDE Qt5界面绑定的专用依赖库,不属于Linux发行版默认预装的基础库范畴,且不同发行版的库版本、路径规则存在差异,因此跨发行版运行时会出现找不到库的报错,报错信息如下:

./shortcutcreator: error while loading shared libraries: libQt5Pas.so.1: cannot open shared object file: No such file or directory.

解决方案
  • 方案1:静态编译(兼容性最高,推荐分发场景使用)
    打开Lazarus项目,进入项目选项 -> 编译选项 -> 链接设置,勾选静态链接选项;提前在Kubuntu 20开发环境安装静态编译依赖包libqt5pas-dev,重新编译项目即可。编译生成的二进制文件会内置所有依赖的库代码,无需额外携带依赖,缺点是最终文件体积会比动态编译版本大30%~50%。
  • 方案2:制作便携依赖包
    先用ldd shortcutcreator命令列出程序所有动态依赖,将libQt5Pas.so.1及其他非系统默认预装的依赖库复制到和程序同目录的文件夹中,编写启动脚本start.sh,内容如下:
    #!/bin/bash
    export LD_LIBRARY_PATH="$(dirname "$0")":$LD_LIBRARY_PATH
    exec "$(dirname "$0")/shortcutcreator" "$@"
    
    给脚本添加执行权限:chmod +x start.sh,用户运行start.sh即可自动加载同目录的依赖库启动程序。
  • 方案3:分发行版构建
    如果目标用户集中在少数几个发行版,可以通过虚拟机或者容器搭建对应发行版的编译环境,在环境内安装Lazarus和libqt5pas-dev对应发行版包,分别编译生成适配各发行版的二进制文件,不需要额外携带依赖。
  • 方案4:告知用户手动安装依赖
    若面向技术用户,可以直接提示用户先安装对应发行版的libQt5Pas包即可运行:
    • Debian/Ubuntu系列:sudo apt install libqt5pas1
    • Fedora/RHEL系列:sudo dnf install qt5pas
    • Arch系列:sudo pacman -S qt5pas

内容的提问来源于stack exchange,提问作者onurcano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 04:39:02