Qt学习笔记(一) VS2013编译Qt5.4静态库


最近听人介绍了这款跨平台的C++框架,于是体验了一把,做了个小窗口程序才32K移植到别的电脑需要一大堆动态链接库,庞大不说还很麻烦。于是就研究了下静态编译。

一、环境配置

我目前用的系统是Windows 8.1,请注意安装好以下软件,以及配置好环境变量:

Visual Studio 2013
python
perl
安装好以上软件 请用cmd测试下 python 和perl,如果提示不是内部或外部命令,也不是可运行的程序或批处理文件之类的那说明没配置好环境变量,请在你的环境变量path中添加 D:\DesignSoftware\Qt\5.4\msvc2013_64_opengl\bin;D:\DesignSoftware\Python34;D:\DesignSoftware\perl\bin(根据自己的安装路径进行更改)

QT-1.png

其次我并未对VS2013安装QT插件 而是使用QT本身的IDE,由于开始没考虑到 静态编译问题所以我是简便安装了官方的windows 源码

二、准备工作

http://download.qt-project.org/development_releases/qt/5.4/5.4.0-beta/qt-opensource-windows-x86-msvc2013_64_opengl-5.4.0-beta.exe

这个很简单 就和安装一般的程序一样一步步安装即可,那么下面说就是编译一个 静态库 存放到 安装好的Qt中以便使用

下载

http://download.qt-project.org/development_releases/qt/5.4/5.4.0-beta/single/qt-everywhere-opensource-src-5.4.0-beta.zip

将其解压 到E:\qt(自己看着办即可)

下面的修改很重要,第一次编译忘了修改,安装完了才想起来。浪费了我俩小时。。

根据你的VS版本进入Qt相应的文件夹修改qmake.conf,我是win32-msvc2013

E:\qt\qtbase\mkspecs\win32-msvc2013\qmake.conf


QT-2.png

QMAKE_CFLAGS_RELEASE    = -O2 -MD -Zc:strictStrings
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi -Zc:strictStrings
QMAKE_CFLAGS_DEBUG      = -Zi -MDd
//将以上改为
QMAKE_CFLAGS_RELEASE    = -O2 -MT -Zc:strictStrings
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi -Zc:strictStrings
QMAKE_CFLAGS_DEBUG      = -Zi -MTd
//即将MD(动态)改为MT(静态)

三、编译静态库并安装

下面打开VS2013的开发人员命令提示工具,从开始菜单中自己找。或者看看下面路径里有没

(安装目录)\Common7\Tools\Shortcuts\VS2013 开发人员命令提示

QT-3.png

转至Qt下载解压的目录

E:\qt

执行configure 注意检查:

configure -confirm-license -opensource -platform win32-msvc2013 -debug-and-release -static -prefix "D:\DesignSoftware\Qt\5.4\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

其中 “D:\DesignSoftware\Qt\5.4\static-vs2013″  是最后静态库安装的位置 我安装的就是最开始 安装QT的地方 嘛 这个可以随便复制的

这一步如果提示 找不到configure.exe命令 是因为下载的zip问题 执行下面的方法即可

1.新建一个.gitignore文件

2.内容填写 foo 保存即可

3.保存到E:\qt\qtbase中

4.CMD在e:\qt目录执行 echo foo > qtbase\.gitignore

QT-4.png

 

QT-5.png

再执行之前的configure代码即可

执行nmake:

输入nmake 回车

这一步超长,,,大概1个小时半左右,可以最小化该干嘛干嘛,我用的SSD  机械硬盘可能会更久,猜测。。

执行nmake install

QT-6.png

nmake结束以后执行nmake install 程序会把编译好的静态库安装到之前设定的目录 静态库即可使用了。

三、使用静态库

QT-6.png

打开Qt Creator,工具->选项->构建和运行->Qt Versions->添加

把刚才安装的静态库加进去 选浏览 把 D:\DesignSoftware\Qt\5.4\static-vs2013\bin\qmake.exe 选进去即可 (不单是刚编译的 以后如果拿到别的也可以这么添加)

QT-8.png

选择 构建套件(Kit)选项卡 添加一个套件 看下面设置 自行更改

经过上面操作 已经完成所有的编译安装,新建个项目选择 静态库的kit试试吧,最后生成的release\exe文件大概在10M以内 通过TMD压缩下 有4M左右= ,=不得不说 如果不考虑跨平台。。用C#还是不错的 至少现在.net framework windows都预装了生成的exe才几百K。。。

QT-9.png

Note:在最后一步构建kit的时候我发现有个警告,好像说是可能不兼容,不过我测试一切正常。不知道具体是什么 有遇到的或者知道的还请留言告诉下。


  技术教程
 

音乐的名字啊名字
  • 00:00