QT程序手动打包发布(ubuntu)
Ubuntu下打包Qt程序到无Qt环境机器中运行
在ubuntu下打包QT程序及相关的依赖库到一个无QT环境的干净容器中运行,这将这过程分为7步;
第一步:把Qt Creator设置为Release模式,点击运行后在build文件夹下中找到可执行程序(无后缀的文件就是,例如程序名为my_project);
第二步:将此文件拷到一个干净的文件夹下(例如my_release),在此文件中新建'lib'和'bin'文件夹,按下 Crtl+Alt+T按钮弹出控制台,输入“ ldd ./my_project | awk ‘{print $3}' |xargs -i cp -L {} my_release/lib", 除此之外,可能会缺少libQt5DBus.so.5及libQt5XcbQpa.so.5(需要将对应的libQt5XcbQpa.so.(版本)改名为libQt5XcbQpa.so.5),需要去安装路径下寻找然后使用sudo权限拷贝到my_release文件下的lib中;
第三步:此时文件夹下既有可执行文件也有可执行程序连接的基本动态库,但是还有部分库不在,进入安装Qt的文件夹中找到 plugins/platforms(Qt需要的跨平台的相关库),”Crtl+Alt+T"打开控制台,输入"sudo cp -r ./platform ~/ my_release/bin"(~/指用户目录),再次进入到Qt安装目录plugins目录中找到imageformats文件夹,
然后输入"sudo cp -r ./platform ~/ my_release/bin"(此文件夹中的库用于加载各种图片资源,如有设置gif等资源不生效时即缺失这些库);
第四步:将可执行程序my_project移入'bin'文件夹中;
第五步:现在撰写执行脚本:按下”Crtl+Alt+T"弹出控制台,
输入”gedit my_project.sh"然后输入
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib
./bin/task_scheduling_visual "$@"
第六步:此时的文件结构为:
第七步:将此my_release文件夹安装到其他无Qt环境的linux系统的裸机下,进入my_release文件夹下,“Ctrl+Alt+T”弹出命令行输入"chmod +x ./my_project.sh"点击回车给脚本增加权限,然后输入"./my_project.sh"即可看到打包的程序开始运行;
更多推荐
所有评论(0)