【IT专家】Qt程序发行Linux版,软件打包知识(patchelf 工具修改依赖库,确认 qmake
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文由我司收集整编,推荐下载,如有疑问,请与我司联系Qt程序发行Linux版,软件打包知识(patchelf 工具修改依赖库,确
认qmake
2017/06/02 449 patchelf 工具可以修改已编译运行程序的依赖库位置和指定库链接器
patchelf --set-rpath
patchelf --set-interpreter
通过这个工具https://github/probonopd/linuxdeployqt如果自己编译不了,也可以下载现成的
https://github/probonopd/linuxdeployqt/releases
运行./linuxdeployqt-2-x86_64.AppImage ShanbayDict 并为成功,生成的lib目录下的so文件很少。
运行./linuxdeployqt-2-x86_64.AppImage ShanbayDict -appimage 也未成功,但lib 生成了很多so文件
使用patchelf --set-rpath /opt/Qt-5.7-static/lib/:./lib ShanbayDict 修改rpath后,ShanbayDict可以独立运行了,连同lib一起拷贝到新安装的Ubuntu 16.04系统中,也能运行了。
ldd ShanbayDict 显示,rpath已经指向./lib目录
patchelf可以通过sudo apt installpatchelf 安装
2017年2月24日
Qt 5.8编译的Qt程序
设置环境变量,确认qmake -v 是自己使用的Qt版本,如果不是,解决办法是:
export PATH=/home/lieefu/Qt5.8.0/5.8/gcc_64/bin:$PATH
创建qml目录,把/home/lieefu/Qt5.8.0/5.8/gcc_64/qml 目录下用到的模块复制过来,我的app用到了三个QtQuick、QtQuick.2、QtMultimedia。
增加plugin中platforminputcontexts 包括libfcitxplatforminputcontextplugin.so文