VS2017+QT5.10编译QT静态库
来源:互联网 发布:linux压缩成zip 编辑:程序博客网 时间:2024/05/20 00:51
准备工作
*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
右键以管理员方式运行。
由于Vs自带的命令行在进入的时候会自动配置PATH,所以后面对于VS的path可以不用配置
之后 cd 进入源码的所在文件夹
执行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
添加完Qt Versions 再添加构建套件
名称可以随意写,重点是下面编译器和Qt版本。
显然Qt版本就是我们之前所添加的Qt Versions,编译器必须使用Vc++的编译器,因为我们当时编译这个库用的是Vc++编译器。之后点击确定。
编译好的静态库提供下载
我之后会把库传到百度云,会给下载链接。不想自己编译的可以直接下载。
下载链接:https://pan.baidu.com/s/1mhSDvhI 密码:fwyu
如果我哪里有问题欢迎大家批评指正——-热爱编程的小白
- VS2017+QT5.10编译QT静态库
- Windows平台 Qt 5.9 VS2017 静态编译 包括OpenSSL、ICU
- 静态编译Qt5.4.1和Qt WebKit
- 静态编译Qt5.4.1和Qt WebKit
- VS2017 编译64位boost静态库
- Qt环境搭建(vs2017+Qt5.92)
- VS2017 调用QT5-控制台调用qt示例
- Qt学习(六) VS2013编译Qt5.3.1的静态库
- Qt学习笔记(一) VS2013编译Qt5.4静态库(转)
- 编译Qt静态库
- VS2013编译Qt5.3.2的静态库
- 用vs2013编译QT5.3静态库
- VS2013编译Qt5.4静态库
- QT5.4 编译android静态库
- VS2015编译Qt5.7静态库
- qt5静态编译
- VS2017编译boost库
- 编译boost库 VS2017
- JS原生DOM笔记
- Tablayout的应用
- spring整合jdbc
- 写一个功能类似字符串title()方法的函数
- SparkCore1
- VS2017+QT5.10编译QT静态库
- CF 893C DFS
- linux内核的I2C子系统详解5——i2c_driver的注册、i2c_client的来源
- comic life中文版下载 | Comic Life(漫画制作工具)官方破解版V3.5.6下载 | comic life破解版
- (转)被AI改变的风投模式:数据驱动使效率提高10倍
- 兄弟连学python(4)——内部函数
- 学习安卓第一周
- Java集合之三List接口及其实现类ArrayList、LinkedList、Vector
- js原生ajax与jQuery的ajax