本人新手,早就听说QT比较好,但一直不会使用,这几天总算抽出个时间来学一下QT。
因为是刚学,搭建QT环境都用了好多天,QT安装好之后就新建了一个程序,就一个窗口程序,没放任何控件,调试可以运行,但把编译好的程序复制到其他电脑上提示DLL丢失,根据提示的DLL文件是不行的,得如何查找DLL呢,于是在网上找这类的文章,还真找到一篇《将Qt 动态链接生成的exe及依赖dll打包方法》,其中有个工具(Process Explore)就是用来查看软件的DLL,依据文章的提示,找到了DLL文件,但是这些DLL太大了,足有200多M。
我写的程序只有几M,需要的DLL这么大,想想还是算了,找个方法用静态编译吧,但静态编译要是自己弄,实在太复杂了,再百度一下吧,百度就是好,当然最好的还是那些把资料分享出来的朋友,找到了一个:Qt5.6.0 MinGW492 release静态版编译结果分享。这个静态编译下载后解压到C:/QT目录下,还得在QT里设置一下,设置方法参考:Qt for Windows:Qt 5.6.0 MinGW 静态编译版本制作。
总算把静态编译弄好了,程序复制到其他电脑上也能运行了,但心里总不踏实,主要是怕QT的协议,要是被罚款那就不好玩了,再百度,说的最多的安全方法是用动态编译,难道还是得用200多M的DLL文件?
网上又找到了一篇文章:项目发布Debug和Release版的区别,原来我一直用的是Debug方式生成的程序(大家别见笑,本人用PC编程还只能算是游击队员,算不上是正规部队的,都是自学的),发布的程序得用Release,于是又是Release编译了一下,是动态的哦,然后再根据要求把各个DLL找来,这次的DLL与之前的DLL是不一样的,最明显的是大小不一样,还有这次的DLL文件中最后一个没有“d”,这个“d”就是Debug的意思,编译的结果跟静态编译的大小差不多了,自此就算是大功告成,可以放心地用QT写程序了。