众所周知,dll是动态链接库,只有在需要时才会被程序所调用。
MinGW(Minimalist GNU for Windows),又称Mingw32,是将GNU开发工具移植到Win32平台下的产物,包括一系列头文件(Win32API)、库和可执行文件。 MinGW是从Cygwin(1.3.3版)基础上发展而来,但是用MinGW使用Windows中的C运行库。因此用MinGW开发的程序不需要额外的第三方DLL支持就可以直接在Windows下运行,而且也不一定必须遵从GPL许可证。这同时造成了MinGW开发的程序只能使用Win32API和跨平台的第三方库,而缺少POSIX支持[1],大多数GNU软件无法在不修改源代码的情况下用MinGW编译。(来自维基)
Qt默认是动态链接的,所以在生成的exe里包含minGW库内容(这样可以减少可执行程序的大小)
在QT Creator点运行可以,但在工程目录下打开exe文件就会提示mingwm10.dll丢失
解决问题也容易,可以在环境变量里加qt/bin;mingw/bin;qt/qmake
但如果这个程序在客户的机子上运行,这样安装太麻烦了
所以可以使用静态链接在生成的exe加入所有库函数。
参考这里&