QT程序自动拷贝所需动态库批处理

Posted 小哈龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT程序自动拷贝所需动态库批处理相关的知识,希望对你有一定的参考价值。

一.问题

开发的Qt程序在运行时会依赖QT本身的一些动态库,每次发布程序的时候都需要去从QT的安装目录下(bin)去拷贝这些依赖的动态库是很麻烦的,如果写一个批处理文件,将该批处理文件放在要发布的可执行程序目录下,直接运行批处理,自动将所需的QT依赖库拷贝过来多好。

二.简单的的实现依赖库拷贝

自动将所需的QT依赖库拷贝过来,QT本身存在这样的功能

windeployqt.exe 为此而生,使用方法如下:

windeployqt.exe 发布程序.exe

带参数运行该程序,参数为要发布的可执行文件名称

三.自动化实现依赖库拷贝

这就需要使用批处理脚本了,功能是将当前脚本所在目录的所有exe文件所依赖的QT库都拉进来,完美解决QT依赖库拷贝问题,脚本如下:

echo off
echo Setting up environment for Qt usage...
set PATH=E:qt\\5.5\\msvc2013\\bin;%PATH%      rem 此行目录为QT的安装目录,需要自行调整
echo bat与exe放在同一个目录
for /f "delims=" %%A in ('dir /b *.exe') do windeployqt %%A
echo pause

以上是关于QT程序自动拷贝所需动态库批处理的主要内容,如果未能解决你的问题,请参考以下文章

怎样在Qt中建立使用动态链接库

binutils工具集之---ar

QT程序打包

Linux下的静态链接库和动态链接库

qt怎么部属

C 语言动态库封装与设计 ( 动态库调用环境搭建 | 创建应用 | 拷贝动态库相关文件到源码路径 | 导入头文件 | 配置动态库引用 | 调用动态库中的函数 )