在linux下qt程序怎么打包

在linux下qt程序怎么打包,第1张

qt程序谨友首动态打包步骤

1. 从可运行程序的文件中拿出可执行文件

2. 终端下使用ldd命令查看需要的连接库

例如 ldd + 可执行文件

3. 把ldd查询到的所有需要的库祥数导出

4. 编写.sh文档(.sh文件命告亮名必须与可执行文件名字一样例:可执行文件名 test, .sh 文件名为 test.sh)

.sh文件代码如下:

#!/bin/sh

appname=`basename $0 | sed s,\.sh$,,`

dirname=`dirname $0`

tmp="${dirname#?}"

if [ "${dirname%$tmp}" !="/" ]then

dirname=$PWD/$dirname

fi

LD_LIBRARY_PATH=$dirname

export LD_LIBRARY_PATH

$dirname/$appname $*

5. 把所用到的库,可执行文件, .sh文件放到同一目录下

6. 终端中进入这一目录,输入:

chmod +x test.sh

7. 执行程序点击.sh文件或者终端输入:

./test.sh

在发布自己的程序时,很多时候都会因为一些依赖的dll文件不存在而报错,而我们新手却不知道应该如何添加,那么我们可以使用QT自带命令行来自动添加依赖文件。

命令行指令:windeployqt *.exe

首先,将你需要打包的exe文件单独放在一个文件夹中,然后打开QT自带的命令行,找到那个文件夹,之后就可以使用windeployqt加上exe文件来自动打包了,QT会自动帮你添加好全部的依赖文件,保证100%能运行,但是需要注意的是,友弯拆由于这个100%的保证,他也许添加了很多无闹银用的dll文件,这好枣会使得我们自动打包出来的文件很臃肿,所有有经验的各位可以按需要自行删除不必要文件。

方法一:解决跨设备无库文件,exe无法正常运行的问题。

1、Qt程序采用release方式编译发布;拷贝".exe"目录整个文件夹。

2、以管理员方式大携 运行QT命名行 (电脑桌面->开始->搜QT->进编译器) "Qt 5.9.9 (MSVC 2017 64-bit)",

3、 cd /滚羡伏d (+)".exe"跟目录文件路径     例如:cd /d C:\Users\86131\Desktop\release  ,定位至exe文件目录。

3、 windeployqt (+)”.exe“的程序名称     例如:windeployqt rtpPlayer.exe   ,自动将应用所需的库添加至.exe文件中。

拷贝此文件夹全部内容至其他设备,exe文件可直接正常运行。

方法二:打包成一个exe文件。

1、按方法一先添加好全部库文件。

2、运行"Enigma Virtual Box"软件,

①选择exe文件路径;

②设置打包后的exe文件的保存路径;

③将所有文件全选后拖拽至列表"add Folder Recursive"整个文件夹(可直接打开含库文件的release文件夹,全选文件夹内所有文件,拖拽至"Enigma Virtual Box"软件文件列表)

④建议压缩后执行。执行完成后会在相应路径生成打包好的exe文件,如过派樱库文件齐全、压缩步骤正确,即可在不同设备上正常运行打包后的exe程序。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12369472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存