vs2015使用qt静态库5.7
文章目录
MFC库现在基本上没落了, 用的人越来越少,现在一般做GUI开发都是使用Qt, Qt这个东西实现比MFC不知道高到哪里去了, 使用起来更符合直觉, 学起来更简单,可惜了没有一个好爹, 一直没有火起来!!
Qt这个GUI库还是比较好用的, 只是在Windows上没有办法静态编译,每次发布都要带一堆的东西, 比较恶心!!这两天实在受不了了, 倒腾了一下Qt的静态编译。
1.下载Qt静态库
虽然Qt官方没有发布Qt的静态编译版本, 但是网上有爱好者自己把Qt的各个版本静态库编译好了, 直接下载就可以用。 省去了自己编译的麻烦!!
http://www.npcglib.org/~stathis/blog/precompiled-qt4-qt5/
编译的版本算是比较完整的, 我下载的是 Qt5 v5.7.0 (MSVC2015) 下载然后配置项目。
2.安装Qt5 Package
在vs2015的“扩展和更新”中寻找《Qt5Package》这个扩展,或者在下面网站下载然后安装,并重启
http://download.qt.io/development_releases/vsaddin/ 打开扩展QT5,配置QT静态库中的bin目录,然后Reinstall template……
3.配置项目
虽然利用扩展给我们创建了一个项目模版,但是这个模版只能使用qt的动态库,静态库无法使用, 如果想编译静态编译,需要配置以下信息:
首先,在“链接器”-》“常规”-》“附加库目录”-》添加《$(QTDIR)\plugins\platforms》这个目录,即平台扩展静态库。
在“链接器”-》“输入”-》“附加依赖项”-》新增下面这些库
release 版本 qtmain.lib Qt5Core.lib Qt5Gui.lib Qt5Widgets.lib Qt5PlatformSupport.lib qminimal.lib qoffscreen.lib qwindows.lib qtfreetype.lib qtharfbuzzng.lib qtpcre.lib imm32.lib winmm.lib opengl32.lib ws2_32.lib
debug
qtmaind.lib Qt5Cored.lib Qt5Guid.lib Qt5Widgetsd.lib Qt5PlatformSupportd.lib qminimald.lib qoffscreend.lib qwindowsd.lib qtfreetyped.lib qtharfbuzzngd.lib qtpcred.lib imm32.lib winmm.lib opengl32.lib ws2_32.lib
4 文件依赖
在项目中找到main.cpp这个文件,在开头插入下面的代码,即可导入平台扩展静态库的头文件
#include
如果是release版本,要在“代码生成”-》“运行库”,选择MT,debug为MTD
如果要兼容xp,平台工具集-》选择《v140_xp》 5 附加目录 首先,在“链接器”-》“常规”-》“附加库目录”-》添加《$(QTDIR)\plugins\platforms》这个目录,即平台扩展静态库
在C/C++->常规-》附加包含目录-》加入下面4个路径
$(QTDIR)\include\QtCore $(QTDIR)\include\QtGui $(QTDIR)\include\QtWidgets
$(QTDIR)\include\QtPlatformSupport
这样做完基本上就可以在windows上编译出来静态版本的Qt程序了, 只有一个exe不需要依赖一堆dll。 但是编译出来的文件也不小, 我使用x64版本的vs2015 debug版本编译出来20M release编译出来10M。。。。。 看来想要更下只能使用upx压缩一下了!
6.Qt Creator配置
如果是用QtCreator的话, 就比较简单了, 只需要添加一个版本,选项》构建套件和编译器里面添加一个配置, 然后在新建项目的时候选择我们安装的构建套件和编译器就行!
参考链接
文章作者 忆杰
上次更新 2016-12-30