qt发布程序时将依赖的dll分开放在不同目录下
本文最后更新于:2022年5月29日 上午
前言
QT发布的程序,exe可执行程序与dll文件都在同一个目录下,这样根目录看上去很混乱,不方便后续升级管理,现在想把那些dll文件,放到一个文件夹下,这个文件夹和exe在同一个目录下。网上搜索了许多资料,都没有找到实际有用的信息,不过从网上混乱的资料中,最终还是筛选到了一些有用的信息资料,本文记录以下具体的实现方法。
系统环境:
- Windows 10
- Qt5.9.3
方法
这里采用了使用另一个exe来启动应用程序,启动前临时设置环境变量,使程序可以找到需要的依赖库路径。该方法设置的环境变量是临时的,并不会永久修改系统环境变量,这样也符合需求。
主要实现方法是通过QProcess使用setProcessEnvironment环境变量
新建一个Qt Console Application工程,把下面代码复制进去即可。
1 |
|
这里运行时可能会有黑色qt控制台弹窗显示,把pro文件CONFIG += console
删掉即可不显示弹窗。
参考链接
【1】解决QProcess使用setProcessEnvironment环境变量不能生效的问题 - 云+社区 - 腾讯云 (tencent.com)
qt发布程序时将依赖的dll分开放在不同目录下
https://kevinloongc.github.io/posts/8ca26d8c.html