VS2017+QT5.10编译QT静态库

准备工作

*Supported compiler (Visual Studio 2012 or later,MinGW-builds gcc 4.9 or later)
* Perl version 5.12 or later [http://www.activestate.com/activeperl/]
* Python version 2.7 or later [http://www.activestate.com/activepython/]
* Ruby version 1.9.3 or later [http://rubyinstaller.org/]
我Visual Studio 安装的是2017版本,Perl,Python,Ruby等都是在官网下载的最新版本
还需要去qt官网下载Qt源码,这里我下载的是qt-everywhere-src-5.10.0.zip。

修改配置文件

解压Qt源码。
打开Qt源代码路径下面的qtbase\mkspecs\common\msvc-desktop.conf

QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE -MD 
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -MD -Zi 
QMAKE_CFLAGS_DEBUG = -Zi -MDd

在文件里面会找到上述三句话。
其中-MD -MDd 代表的是动态库,需要改为-MT -MTd

QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE -MT 
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -MT -Zi 
QMAKE_CFLAGS_DEBUG = -Zi -MTd

配置Configure

VS2017+QT5.10编译QT静态库_第1张图片
右键以管理员方式运行。
由于Vs自带的命令行在进入的时候会自动配置PATH,所以后面对于VS的path可以不用配置
之后 cd 进入源码的所在文件夹
VS2017+QT5.10编译QT静态库_第2张图片
执行configure命令

configure -confirm-license -opensource -debug-and-release -static -force-debug-info -prefix D:/QT-msvc-qt5.10-static -nomake examples -nomake tests -opengl dynamic  -platform win32-msvc 

中间如果存在报错的话,直接去百度,因为一般都是环境变量的问题,把相应的东西加入环境变量就好了。
我在configure的过程中并没有报错。

执行 nmake

在configure结束之后直接执行nmake,之后便是漫长的等待。
编译结束提示无法找到atlbase.h。 我之后去百度了以下,然后大家给的结果是在VS2017里正在弱化ATL组件,所以我并没有在意这个问题,目前此处报错产生的后果未知。

执行 nmake install

在nmake完成之后,执行nmake install,Qt库就会安装在之前configure是-prefix的路径中,我的便是 D:/QT-msvc-qt5.10-static。
与其说是安装,不如说把编译好的lib,pdb,.h分类整理一下。(只是感觉)

配置Qt Creator

首先从工具->选项->构建与运行->Qt Versions
选择添加一个Qt Version,路径便是Qt静态库安装路径/bin/qmake.exe
VS2017+QT5.10编译QT静态库_第3张图片
添加完Qt Versions 再添加构建套件
名称可以随意写,重点是下面编译器和Qt版本。
显然Qt版本就是我们之前所添加的Qt Versions,编译器必须使用Vc++的编译器,因为我们当时编译这个库用的是Vc++编译器。之后点击确定。
VS2017+QT5.10编译QT静态库_第4张图片

编译好的静态库提供下载

我之后会把库传到百度云,会给下载链接。不想自己编译的可以直接下载。
下载链接:https://pan.baidu.com/s/1mhSDvhI 密码:fwyu
如果我哪里有问题欢迎大家批评指正——-热爱编程的小白

你可能感兴趣的:(静态编译,Qt-5-10-0,vs2017,qt静态编译,Qt)