Qt静态编译的一些问题

Qt默认的编译方式是动态编译的,但是有时候你编写的程序要发布出去,带很多动态库文件是很繁琐的,此时就需要静态编译你的程序,Qt要实现静态编译必须库文件也是静态编译的,可以用这个命令编译静态库:

在开始菜单里找到Qt Command Prompt并运行,输入命令:   configure -static -debug-and-release -no-exceptions

上一条命令运行成功后再输入命令:   mingw32-make sub-src

等1 ~3 小时可能就运行完了   完成后就ok了。。。

当然你能编译成功的前提是你的一些路径配置都弄好了,还有许多人都只编译了release即发行版本的静态库,没有编译debug(调试版本)的静态库,于是你用Qt Creator的时候,如果debug选择调试模式的话,那么此时就会出现: collect2: ld returned 1 exit status 以及can't find lQtGuid4 这样的错误提示,解决办法就是输入命令:configure -static debug,然后在mingw32-make sub-src,可能要编译两到三个小时,如果你不加sub-src编译的时间还要长,10个多小时吧,直接make的结果是包括qt程序在内全部编译,当然花的时间要长很多。

还有我比较推荐用qt写c++程序,而不是visua c++,因为它的跨平台性非常好,windows linux以及mac都可以使用,visual c++是达不到的。

你可能感兴趣的:(Qt静态编译的一些问题)