请大家参照“Qt程序发布到其他电脑上无法运行解决办法(二)”,在这里面采用了Qt自带的程序更科学的用于解决发布的问题,这篇博客里是自己以前找的一个笨办法,已不推荐使用。
平台:windows 64位
Qt版本:5.5.1 MinGW 32bit
今天用Qt写了个小程序,在自己电脑上运行了下,没什么问题,兴致勃勃的发给别人用,结果在别人电脑上一运行就出现错误,如下:
感觉很纳闷,Qt运行需要的几个dll都是拷贝了的,怎么会出现这个问题,而且也没提示缺少dll,后来在网上找了下,发现原来是这样:
除了Qt程序在运行时提示缺少的几个dll外,还需要将Qt安装目录下platforms(以笔者安装目录为例:C:\Qt\Qt5.5.1\5.5\mingw492_32\plugins\platforms)文件夹拷贝到发布的程序中。
这里注意下,platforms文件夹中有6个dll,由于我发布给别人用的是采用Release编译的,所以最后只需保留qminimal.dll、qoffscreen.dll、qwindows.dll这三个dll就行了,其实qoffscreen.dll我也可以不需要的,不过反正都拷到以后也可以用。
qminimald.dll、qoffscreend.dll、qwindowsd.dll这三个文件名最后有d的是与Debug编译的程序一起用的,其实与Qt5Cored.dll等几个dll是一样的,发布Release编译的程序时就对应要拷Qt5Core.dll,之前笔者没注意这个问题,在网上又逛了一圈才发现。
这样就没问题了,最后发布时的dll就如下图,再加上你的程序就行了。