Qt学习(六) VS2013编译Qt5.3.1的静态库

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Qt学习(六)VS2013编译Qt5.3.1的静态库

分类:Qt(windows)2014-07-11 08:36147人阅读评论(5)收藏举报今天用Qt写了个小程序,拷到另一台电脑发现无法运行,缺少文件。查了一下资料,发现是动态链接库的问题,因为原来一直用的微软系列的开发工具,这个问题不怎么突出,现在用Qt写程序,这个问题就很麻烦了。

针对这个问题网上找到的资料有两种解决方法,一是将程序需要的库文件放在一起,这个显然很麻烦,而且个人很不喜欢这种方式;另一种就是静态编译,所谓静态编译,就是编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库。

下面介绍一下我自己编译静态库的过程,网上资料不少,但是介绍的都不全面,加上我这方面的基础也不怎么样,着实花了一番功夫。不多废话,开始介绍:

1、下载Qt5.3.1的源码:qt-everywhere-opensource-src-5.3.1.zip

打开官网下载页面,点击红线画着的文字“zip”下载源码:

保存图片,改后缀为7z,有下载网址2、安装python

保存图片,改后缀为7z,有下载网址

3、下载完成后解压,注意硬盘的可用空间:

我的解压目录是:E:\Qt

这是我编译完的文件夹大小(包括编译目录和install目录):

4、根据你的VS版本进入相应的文件夹,我是win32-msvc2013:

进入

E:\Qt\qt-everywhere-opensource-src-5.3.1\qtbase\mkspecs\win32-ms vc2013目录,有两个文件:

打开qmake.conf,修改内容并保存,如下:

原内容:

[plain]view plaincopyprint?

1QMAKE_CFLAGS_RELEASE = -O2 -MD

2QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi

3QMAKE_CFLAGS_DEBUG = -Zi -MDd

修改为:

[plain]view plaincopyprint?

4QMAKE_CFLAGS_RELEASE = -O2 -MT

5QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi

6QMAKE_CFLAGS_DEBUG = -Zi -MTd

即将MD(动态)改为MT(静态)。

5、我的电脑装的是VS2013,由开始菜单打开Windows Studio Tools,

选择画红线的VS2013开发人员命令提示

6、在“VS2013开发人员命令提示”窗口中输入python:

如果向上图一样不认命令,说明环境变量未配置:

输入:

[plain]view plaincopyprint?

set PATH=%PATH%;F:\Program Files\Python33

注:F:\Program Files\Python33是Python的安装目录(与我的肯定不同,我不是安装在默认位置的,默认位置是C:\Python33)

再次输入python,如下图就OK了:

按下“Ctrl+z”,再回车,退出Python:

转至Qt解压目录,我的是:

E:\Qt\qt-everywhere-opensource-src-5.3.1

关键步骤:

执行configure:

输入:

[plain]view plaincopyprint?

configure -confirm-license -opensource -platform win32-msvc2013

-debug-and-release -static -prefix "E:\Qt\5.3.1-static-vs2013" -qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples -skip qtwebkit

其中”E:\Qt\5.3.1-static-vs2013“为编译完后的安装目录。

回车执行,一会后执行完毕:

7、接下来,执行nmake:

回车,然后是漫长的等待,估计2个多小时吧,因为我晚上执行后就去睡了,具体多少时间不清楚。

8、nmake完成,整个过程没出什么错,接着就可以install了,输入nmake install命令:

至此Qt5.3.1的静态库静态库编译完成,接下去就是测试能不能使用了。

9、打开Qt Creator5.3,工具->选项->构建路径->Qt Versions->添加刚才的安装目录:

10、切换到构建套件(Kit)选项卡,添加,这里我取名为”Qt 5.3 static“,更改”Qt 版本“为刚才添加的编译完的静态版

11、新建一个Qt Widgets Application:

一路默认配置,下一步:

在配置Kit的时候会显示两个,Static就是静态版的,为了做对比,两个都勾选:

12、先用动态的编译(debug和release):

13、再用静态的编译(同样debug和release):

下面是静态编译debug版时的编译输出,我们看到启动的是E盘下面

相关文档
最新文档