如何解决QT程序发布时的dll依赖问题

如何解决QT程序发布时的dll依赖问题,第1张

使用QT生成exe应用程序后,其中依赖很多QT中的DLL库,但是在生成exe的时候,这些DLL 并没有添加到exe目录,在很多时候,我们都自己手动去复制需要的DLL,难免不会造成少dll的情况或者在其他的电脑上用不起。今天发现在qt安装目录中发现Qt 官方开发环境里自带了一个工具:windeployqtexe。可以自动把需要依赖的库文件都自动拷贝到exe目录中。

使用方法:

1打开QT的命令行工具,

2:进入到你生成exe目录,你可以把生成的exe拷贝到新建的一个目录中,比如c:\text中。

使用命令:1 cd c:\text

2 windeployqt testexe

然后你就可以看到你的目录中就有需要的dll和文件了,这时候你可以试试能否启动。

qt程序动态打包步骤

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

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

例如 ldd + 可执行文件

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

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

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 testsh

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

/testsh

以上就是关于如何解决QT程序发布时的dll依赖问题全部的内容,包括:如何解决QT程序发布时的dll依赖问题、linux+Qt程序如何打包发布、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/10169012.html

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

发表评论

登录后才能评论

评论列表(0条)

保存