本文由我司收集整编,推荐下载,如有疑问,请与我司联系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文。