——————————————————————————————————————————————————————————————
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程序在内全部编译,当然花的时间要长很多。
——————————————————————————————————————————————————————————
我是根据如上的方法进行所谓的静态编译设置。
configure -static -debug-and-release -no-exceptions
mingw32-make sub-src
configure -static debug
mingw32-make sub-src
一共执行了如上4句,请问这样之后,在Eclipse中编译程序用release,是真正意义上的release版本么??我就这样编译release,出来也是 150M 左右。
请教3楼,怎么做才是真正的release版本,能使程序很小 ??