vs2010静态编译qt5.1.0
本博文参考 http://blog.chinaunix.net/uid-20690340-id-3802197.html
静态库在链接的时候直接写入二进制文件里,这样的好处在于发布的时候无需附带dll文件,这样就不会因为缺少哪个dll运行不起来。
安装前准备:
1、下载qt源码:qt-everywhere-opensource-src-5.1.0.zip。
2、下载Perl工具。
3、下载Python工具:python-2.7.6.msi。
4、下载Ruby工具:rubyinstaller-2.0.0-p451.exe。
5、安装所下载的工具,全部采用默认安装位置(安装到c盘)。
6、安装完后设置环境变量:C:\Ruby200\bin;C:\Python27;C:\Perl\site\bin;C:\Perl\bin。如果环境变量中已经存在则无需再添加。
7、创建.gitignore文件。运行Visual Studio命令提示(2010) 并将将工作目录切换到qt-everywhere-opensource-src-5.1.0文件夹下,输入命令:echo foo > qtbase\.gitignore
7、1(补充)将目录(qt-everywhere-opensource-src-5.1.0\qtbase\mkspecs\win32-msvc2010)下的qmake.conf文件里的标记改成:
QMAKE_CFLAGS_RELEASE = -O2 -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MTd
这样做的目的是静态链接c运行库。这样才能达到真正的静态编译
8、配置:执行命令configure -confirm-license -opensource -prefix "D:\Qt\qt5.1.0-msvc2010-static" -debug-and-release -static -platform win32-msvc2010 -c++11 -no-icu -opengl desktop -qt-zlib -qt-libpng -qt-libjpeg -nomake demos -nomake examples -nomake tests -mp
关于congigure 命令中的各项说明
-opensource -confirm-license qt的使用协议,这个是使用开源协议,并同意
-prefix "D:\Qt\qt5.1.0-msvc2010-static" 设置qt的安装目录,
-static 设置静态编译,动态编译的话,去掉
-platform win32-msvc2010 设置编译器类型,可根据情况换成win32-msvc2012 win32-g++或者其他 可选择类型在qtbase\mkspecs\目录下了
-debug-and-release编译debug和release版 只编译release设置 -release只编译debug的设置- debug
//-no-c++11 关闭C++11的支持,目前只有vs2010 vs2012支持C++11特性 (vs2010去掉这一项,因为支持)
-no-icu 关闭不是使用icu
-opengl desktop 使用opengl
-nomake demos -nomake examples -nomake tests 不编译示例,测试
-mp 使用多核优化编译、
|
目录设置 |
||
|
-prefix <dir> |
指定编译结果目录,如果不指定编译结果将会出现在Qtbase下 |
|
|
库编译 |
||
|
-debug |
生成debug库 |
|
|
-release |
生成release库 |
|
|
-debug-and-release |
生成debug及release库 |
|
|
-shared |
创建并使用动态Qt库 |
|
|
-static |
创建并使用静态Qt库 |
|
|
模块编译 |
||
|
-make <part> |
编译(libs,tools,examples...) |
|
|
-nomake <part> |
不编译(libs,tools,examples...) |
|
|
-skip <module> |
构建时排除该模块 |
|
|
-no-widgets |
禁止编译widgets模块 |
|
|
-no-sql-<driver> |
禁止编译指定SQL驱动 |
|
|
-no-opengl |
不支持opengl |
|
|
-opengl <api> |
使能opengl指定API desktop 桌面OpenGL es1 es2 |
|
|
-icu |
使用ICU库 |
|
|
-no-icu |
不是用ICU |
|
|
Windows支持 |
||
|
-no-vcproj |
不生成vc++.vcproj文件 |
|
|
-vcproj |
只针对"win32-msvc.net", |
|
|
-no-openssl |
不编译openssl |
9、执行nmake,这一步编译需要花费很长时间(双核四线程,2.6GHz,一个半小时),慢慢等待结果出来
10、执行nmake install。这一步将编译生成的结果拷贝到configure配置的目标路径里。
至此静态编译全部结束。
Qt Creator 静态编译设置
工具->选项(option)
QT版本
添加 选择编译安装的qmake 目录
选择构建套件(kit)
名称:QT5.1.0_VS2010_static
QT版本:选5.1.0-rel-static_vc2010
vs2010静态编译qt5.1.0的更多相关文章
- 静态编译 Qt5.7.0 (含 openssl 支持)
关于Qt静态便宜的环境等,请先参见 Win10 + VS2015 下编译 Qt5.6.0 . 首先编译 openssl .我这里用的版本是 openssl 1.0.2j (新的1.1版本的便宜稍有不同 ...
- VS2010编译Qt5.4.0静态库
http://www.kavenblog.com/?p=375 1.Qt的跨平台十分优秀,但是在Windows上是还是会有许多问题,其中之一就是动态链接库的问题,Qt程序的发布必须带一个体积不小的DL ...
- VS2015编译Qt5.7.0生成支持XP的静态库(很不错)
一.编译工具 1.VS2015 编译Qt5.7.0的所需VS版本:Visual Studio 2013 (Update1)或Visual Studio 2015 (Update2).因为Update补 ...
- linux下编译qt5.6.0静态库——configure配置
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- 亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序(图文并茂,非常详细)
下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0- ...
- linux下编译qt5.6.0静态库——configure配置(超详细,有每一个模块的说明)(乌合之众)
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- linux下编译qt5.6.0静态库(使用./configure --help来看看都有哪些参数。超详细,有每一个模块的说明。如果改变了安装的目录,需要到安装目录下的bin目录下创建文件qt.conf)(乌合之众)good
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- Win10 + VS2015 下编译 Qt5.6.0
近期由于另外一个项目需要用 vs2015 ,于是把 Qt 也升级到了 5.6.0 .由于项目需要兼容 Windows xp ,所以需要自己编译 Qt .这里大致整理一下编译的过程. 安装 Active ...
- 在vs2010中编译log4cxx-0.10.0详细方法(从下载、编译、解决错误详细介绍)
在vs2010中编译log4cxx-0.10.0详细方法(从下载.编译.解决错误详细介绍) http://blog.sina.com.cn/s/blog_a459dcf501013tbn.html
随机推荐
- Sql Server数据库导入Excel、txt数据详解,新人必看
转自个人原创 https://blog.csdn.net/qq_15170495/article/details/104591606 数据库的要想导入数据,列的映射很是关键,只有列名匹配好,系统才知道 ...
- PAT-1063 Set Similarity (set集合)
1063. Set Similarity Given two sets of integers, the similarity of the sets is defined to be Nc/Nt*1 ...
- 使用容器化块存储OpenEBS在K3s中实现持久化存储
作者简介 Giridhara Prasad,Mayadata Inc.首席工程师.在软件测试自动化.混沌工程(chaos engineering)方面有丰富的经验.目前,他正在研究开源混沌工程项目Li ...
- webpack-dev-server 使用 react-router 启用 browserhistory 采坑记
问题的产生 今天下午请假,忙完手头事之后,在家实在无聊,想着从0开始搭建一个 react 的项目.webpack 基本配置之前研究过,没什么大问题.谁想,在 react-router 的配置时出现了个 ...
- vue采用history路由的服务器部署问题
发现部署问题 在部署的时候发现打开的页面是空白 之前部署原理 之前的页面都是作为静态文件形式打包上传到服务器上 http://www.xiedashuaige.cn/bolg2.0/#/home 就和 ...
- Life In Changsha College- 第四次冲刺
第四次冲刺任务 整体功能实现. 用户故事 用户打开“生活在长大”的界面,选择登录 已注册过则输入用户名和密码直接登录 未注册用户则可选择注册功能,注册成功后登录 登录成功则弹出提示框 进行留言 系统结 ...
- Dubbo源码阅读-服务导出
Dubbo服务导出过程始于Spring容器发布刷新事件,Dubbo在接收到事件后,会立即执行服务导出逻辑.整个逻辑大致可分为三个部分,第一部分是前置工作,主要用于检查参数,组装URL.第二部分是导出服 ...
- [Objective-C] 007_Foundation框架之NSString与NSMutableString
在Cocoa Foundation中的NSString和NSMutableString类,为我们提供了Unicode字符串的支持,NSString和NSMutableString类最大的区别是:NSS ...
- Java IO(一)概述
Java IO(一)概述 一.IO概述 (一).介绍 在Java中,所有的数据都是通过流读写的,Java提供了IO来处理设备之间的数据传输,Java程序中,对于数据的输入/输出操作 都是以“流”的方式 ...
- SSIS 数据类型 第二篇:变量的数据类型
变量(Variable)用于存储在Package运行时用到的值,集成服务支持两种类型的变量:用户自定义的变量和系统变量,自定义的变量由用户来定义,系统变量由集成服务来定义. 变量的用途十分广泛,用于容 ...