VisualStudio编译Qt5.9.0静态库

使用 VS2017或VS2015编译 Qt5.9.0的静态库

环境要求

大概内容就是需要软件 Perl 与 Python 支持, ANGLE 库非必要等等 详细内容请参考 Qt的官方文档 Qt for Windows - Requirements

构建步骤

1. 解压源代码压缩包

解压 qt-everywhere-opensource-src-5.9.0.zip 到构建目录,我这里是解压了两份源代码,方便编译x64与x86两种静态库.

2. 使用VS命令行

使用VS的命令行脚本 “x64 Native Tools Command Prompt for VS 2017” (VS2015中文版是 “VS2015 x64 本机工具命令提示符” )进入Qt源码目录.
如果编译x86的静态库,就用 “x64_x86 Cross Tools Command Prompt for VS2017” (VS2015中文版是 “VS2015 x64 x86兼容工具命令提示符” ).

3. 配置Qt库

运行命令

configure -prefix d:\libs\Qt\Qt5.9.0_x64_static_msvc2017 -opensource -debug-and-release -static -opengl dynamic -nomake examples -sql-sqlite -mp
  • -prefix 选项是设定编译完成后,库的安装目录. 编译完成后的静态库,需要运行安装命令进行安装后,使用才比较方便.
  • -opensource 选项是说明编译开源版本
  • -debug-and-release 选项说明同时编译debug与release版本, 我使用这个选项编译完成后,源码目录下占用了17G多的硬盘空间,心疼硬盘的就少编译点东西吧.
  • -static 编译静态库,使用这个选项, Qt编译时的参数是 -MD与-MDd. 要改为 -MT 与 -MTd 就需要修改Qt的配置文件了.
  • -opengl dynamic 设定Qt应用启动时, 动态加载opengl的驱动库,详情请参考 Qt for Windows - Requirements
  • -nomake examples 不编译示例
  • -sql-sqlite 使用Qt内置的sqlite3插件
  • -mp 这个选项非常的好(此处鼓掌),使用VS的多处理器编译功能,就是多线程编译啦.保证能榨干你的CPU.

编译

上面的命令运行完且没有出错后,那就敲下神圣的字符

nmake

然后你可以喝杯咖啡,吃点零食, 喝杯红茶,出去溜达溜达,我是等了2个多小时才编译完.

安装

使用命令

nmake install

安装编译好的库.我安装好的库大概有3G左右.

结束

安装完成后, 你就可以开始撸代码, 你的老板也可以催你命啦 ^_^