作为初入Qt学习的新人,花了整整一两天时间,对Qt编译版本等问题进行了一步步探索,首先感谢网站博客中文章,开始也不是很明白一些几个问题:
1、Qt版本问题
作为初学者,可能下载时这么多版本,如何选择呢?
版本很多,开发平台Windows、mac、linux等;这里以windows平台为例,x86(Win32位);
winrt 平板电脑下 ;
mingw Minimalist GNU For Windows,是将GNU开发工具移植到Win32平台下的工具集,用其开发的程序不需要额外的第三方DLL支持即可以直接在Windows下运行;
msvc 2010,2013等,这是微软VC平台,按照了VC对应版本可以选这个,就不用再另外下载MinGw,后缀_64,说明编译的程序在64位上运行
opengl 图像渲染用
具体要按照你的开发环境,系统等来选择合适的
2、静态库下载
在网上寻找 Qt 静态库,就搜索 Qt Static Builds ,目前找到两个地方有: http://sourceforge.net/projects/static-qt/ https://github.com/fostersoftware/QtStaticWindows 第一个是 SourceForge 上的项目,第二个是 GitHub 上的项目,这两个网站希望新手记牢了, 以后要找好东西都可以去这两个网站。 GitHub 上面的 QtStaticWindows 比较新,是 5.3.2 版本的,所以就选这个来做教程示范。 从 GitHub 网站下载东西,可以直接点击网页右边“Download ZIP”
还有就是现在百度云盘下,就不用有些CSDN下载中有的要求积分,这里是免费的,希望对还不是CSDN成员的初学者能够方便,不至于开始就感觉,下载软件都这么难。
Qt5.3.2静态编译的库QtStaticWindows5.3.2-new.7z 网盘链接下载:http://pan.baidu.com/s/1mgIGPdA
指导等见该链接:http://www.chinadmd.com/file/evxxovcexr3s6oeuvuzsozpt_1.html
3、Qt动态编译和静态,还有debug 和release(调试和发布)
上面是本人通过Qt Creator建立的一个工程文件,名称为“shared_static”,之前网上下载Qt 4.8.5,一般是动态编译,但是只能在该笔记本或台式机上,如果要其他电脑也直接运行,必须要附带动态库,发布时文件较多。
如新建一个Qtgui空窗口,mingw编译程序运行需要动态库mingwm10.dl、QtCore4.dll、QtGui4.dll、libgcc_s_dw2-1.dll。
小时还可以接受,如果动态库很多,就觉得不方便,就像可以只有一个exe跑遍任何windows电脑。
下面教你如何动态库情况下,改为静态编译模式:
最初动态修改为静态方法:
1、C:\Qt\4.8.5\mkspecs\win32-g++\qmake.conf,具体看你安装路径,找到qmake.conf文件打开(notepad或txt都行),修改下面两行:
QMAKE_LFLAGS_DLL后面的 –shared 改为 –static
QMAKE_LFLAGS后面加上 –static
2、C:\Qt\4.8.5\bin 下的syncqt与syncqt.bat 这两个文件删除或改名
3、打开Qt 4.8.5 Command Prompt软件,输入
configure –static –release –no-exceptions回车
如果需要同时需要静态版的Debug版本,需要把-release 改为 –debug-and-release
回车后会有版本选择和用户协议,先输入”o”(Open Source) ,下一个要输入时输入“y”(Yes)
…………耐心等待一会…………
直到再次出现:
4、接着输入 mingw32-make sub-src
我从22点多直接安装到次日2点的才完成(不过我是选择static下debug和release两种构建套件),同时为了保证运行速度,还是不要运行大的程序,可以去睡觉了,真是漫长。。。。。。
直到再次出现:
恭喜你完成动态到静态的修改
5、工具-〉选项,选择Qt
version,ADD(添加)C:\Qt\4.8.5\qmake 选择qmake.exe,其他的选项同动态编译时一样选择。
恭喜你,现在新建工程,然后选择模式,就可以编译静态下的exe了
本人是参考这个,具体见http://www.uzzf.com/news/2131.html,在这里非常感谢版主。
4、Qt动态编译和静态,还有debug 和release生产exe文件大小问题
动态debug
动态release
静态debug
静态release
模式 | 大小KB |
动态release | 68 |
动态debug | 787 |
静态release | 10645 |
静态debug | 169656 |
可以清楚的看到,静态比动态模式式生成的exe文件大的多,而debug又比release大的多。
这是本人这几天学习心得,作为新人碰到的一些问题,考虑后面新人可能又会碰到类似问题,觉得还是写这篇博客,仅供学习,禁止抄袭,发扬高尚品德。
5、下载Qt软件的网站推荐下
http://download.qt.io/official_releases/qt/5.4/5.4.1/
http://www.qt.io/download-open-source/#section-2
http://www.qter.org/Qter开源社区
http://blog.csdn.net/goodtomsheng/article/details/44829825