用Qt开发的软件,放到别人的电脑上,需要一些相应的dll, 应用程序才能启动, 编译模式是Debug.需要相应的带d的dll, release模式需要不带d的dll. 寻找这些dll其实很简单,一个命令就解决了。
例如我的开发环境是VS2017 Qt5.12.4
我是用的64位开发环境,那么需要把 D:\Qt\Qt5.12.4\5.12.4\msvc2017_64\bin 添加到环境变量Path中,因为该目录有个命令windeployqt.exe 可以帮我们寻找程序需要的dll, 这样以后运行时就很方便,任意一个目录都可以。
把生成的exe考到其它空文件夹,进入dos窗口,输入
windeployqt xxx.exe
就可以把Qt需要的依赖全部加载进来
例如,命令运行结束后
根据自己的需要选择dll, 一般Qt5Core.dll, Qt5Gui.dll, Qt5Widgets.dll,以及platforms文件夹是必须要的,这里面有系统平台依赖, 其它用到Qt的那个模块就相应的添加,例如用到了网络模块,就需要QtNetwork.dll.
程序发布时都是用的Release模式,特殊情况用debug模式。
另外,如果是win10开发的,放到win7或者没装VS的win10上,可能还需要VS的运行时库,这个得自己找了,我装的是VS2017企业版,大概是这个目录:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Redist\MSVC\14.16.27012\x64\Microsoft.VC141.CRT
有时即使找到了VS运行时库,可能还缺少api-ms-win-core-….之类dll的文件, 这是应为缺少微软运行时库, 安装一下文件即可。
VS也提供了,这个我暂时没测试,我用的Qt安装目录提供的。
到此,VS Qt开发的程序就可以放到别人电脑跑起来了。