使用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程序如何打包发布、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)