设置了一天,这静态编译也总算是虐出来了。。。Qt 的静态编译简直不要太麻烦啊。。。
感谢这位大神提供的方法
http://zerooverture.com/tutorials/qt/737.html
工具下载:
http://pan.baidu.com/s/1hq2Cff2
一、环境配置
我目前用的系统是Windows 7 64bit,请注意安装好以下软件,以及配置好环境变量:
Visual Studio 2013
python
perl
安装好以上软件 请用cmd测试下 python和perl,如果提示不是内部或外部命令,也不是可运行的程序或批处理文件之类的那说明没配置好环境变量,请在你的环境变量path中添加 F:\Qt\5.4\msvc2013_64\bin;F:\Python33;F:\MinGW\mingw64\bin (根据自己的安装路径进行更改)
配置环境变量:计算机->属性->高级系统设置->环境变量->系统变量->Path
1.MinGw:
Path后加
;F:\MinGW\mingw64\bin
2. Python:
Path 后加:
;F:\Python33
;F:\Qt\5.4\msvc2013_64\bin
3. Perl:
Path 后加:
F:\Perl\bin
cmd测试:
gcc –v
python
perl -v
二、准备工作
http://www.qt.io/download-open-source/#section-2(安装QT根据自己的VS版本)
这个很简单 就和安装一般的程序一样一步步安装即可,那么下面说就是编译一个 静态库存放到 安装好的Qt中以便使用
下载
http://download.qt-project.org/development_releases/qt/5.4/5.4.0-beta/single/(安装静态编译需要的包)
将其解压 到F:\qt-everywhere-opensource-src-5.4.0-beta(自己看着办即可)
下面的修改很重要
进入Qt的mkspecs\win32-msvc2013文件夹修改qmake.conf
F:\Qt\5.4\msvc2013_64\mkspecs\win32-msvc2013\qmake.conf
1 2 3 4 5 6 7 8 | 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的开发人员命令提示工具,从开始菜单中自己找。或者看看下面路径里有没
F:\VS2013\Common7\Tools\Shortcuts\VS2013开发人员命令提示
VS2013下cmd命令:(后面具体说明)
cd"F:\qt-everywhere-opensource-src-5.4.0-beta"
echo foo >qtbase\.gitignore
configure-confirm-license -opensource -platform win32-msvc2013 -debug-and-release-static -prefix "F:\Qt\5.4\static-vs2013" -qt-sql-sqlite -qt-sql-odbc-plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengldesktop -qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples-skip qtwebkit
nmake
nmake install
下具体说明:
转至qt-everywhere-opensource-src-5.4.0-beta解压的目录
F:\qt-everywhere-opensource-src-5.4.0-beta
执行configure 注意检查:
1 | configure -confirm-license -opensource -platform win32-msvc2013 -debug-and-release -static -prefix " F:\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 |
其中 “F:\Qt\5.4\static-vs2013″ 是最后静态库安装的位置我安装的就是最开始安装QT的地方 嘛 这个可以随便放到哪
-platform win32-msvc2013 为你选取的编译器平台
这一步如果提示 找不到configure.exe命令是因为下载的zip问题 执行下面的方法即可
1.新建一个.gitignore文件
(如何创建一个没有名字的文件??
你创建一个文件,随便什么都可以,改名如 1.txt留着备用。里面输入foo
再创建一个文本文件如do.txt,输入如下内容:
ren 1.txt .gitignore
保存后将 do.txt改为 do.bat
然后鼠标双击 do.bat
)
2.内容填写 foo保存即可
3.保存到F:\qt-everywhere-opensource-src-5.4.0-beta\qtbase中
4.CMD在F:\qt-everywhere-opensource-src-5.4.0-beta目录执行 echo foo > qtbase\.gitignore
再执行之前的configure代码即可
执行nmake:
输入nmake 回车
这一步超长,,,大概1个小时半左右,可以最小化该干嘛干嘛,我用的SSD 机械硬盘可能会更久,猜测。。
执行nmake install
nmake结束以后执行nmake install程序会把编译好的静态库安装到之前设定的目录 静态库即可使用了。
三、使用静态库
打开Qt Creator,工具->选项->构建和运行->QtVersions->添加
把刚才安装的静态库加进去 选浏览 把 F:\Qt\5.4\static-vs2013\bin\qmake.exe选进去即可
如果提示qmlscene未安装,只需把原来的F:\Qt\5.4\msvc2013_64\bin\qmlscene.exe拷到F:\Qt\5.4\static-vs2013\bin\qmlscene.exe下就行了。
选择 构建套件(Kit)选项卡 添加一个套件看下面设置 自行更改
经过上面操作 已经完成所有的编译安装,新建个项目选择 静态库的kit试试吧,
注:要把之前改的MT 换回 MD
F:\Qt\5.4\msvc2013_64\mkspecs\win32-msvc2013\qmake.conf