vs2008静态编译Qt4.8.6

1、编译准备

源码版本

qt-opensource-windows-x86-vs2008-4.8.6.exe

下载地址:

http://mirrors.hust.edu.cn/qtproject/official_releases/qt/4.8/4.8.6/qt-opensource-windows-x86-vs2008-4.8.6.exe

vs插件(创建工程向导)

qt-vs-addin-1.1.11-opensource.exe 

下载地址:

http://mirrors.hustunique.com/qt/official_releases/vsaddin/qt-vs-addin-1.1.11-opensource.exe


2、更改qmake.conf文件

 
打开文件D:\Qt\4.8.6\mkspecs\win32-msvc2008\qmake.conf
 
更改MD为MT,更改MDd为MTd
 
即:
 
QMAKE_CFLAGS_RELEASE    = -O2 -MD
 
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi
 
QMAKE_CFLAGS_DEBUG      = -Zi -MDd
 
改为:
 
QMAKE_CFLAGS_RELEASE    = -O2 -MT
 
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
 
QMAKE_CFLAGS_DEBUG      = -Zi –MTd


3.配置环境变量

变量名:PATH

变量值:D:\Qt\4.8.6

变量名:QTDIR

变量值:D:\Qt\4.8.6
 

变量名:QMAKESPEC

变量值:win32-msvc2008


4.设置配置

 
在开始菜单打开Visual Studio 2008 Command Prompt 
 
cd到源代码所在文件夹(即D:\Qt\4.8.6
 
入以下命令然后回车。(更多关于configure命令可以,输入configure –help查看)
 
configure -platform win32-msvc2008 -debug-and-release -static -fast -qt-sql-odbc -qt-sql-sqlite

选o,回车(opensourse方式编译)
选y,回车(接受linsence许可)

5.编译链接

输入nmake回车
然后开始编译,要等很久喔。要2个小时以上。编译后有40GB。注意磁盘空间。


6.清理中间文件

在编译过程中如果没有产生错误,则可以把编译时产生的中间文件清理掉。
输入nmake clean回车


7.静态编译 Demo

 
工程配置c/c++ ->code Generation:Runtime Library             
 
Debug    Multi-threaded Debug(/MTd)
 
Release    Multi-threaded Debug(/MT)

 
这时编译还会有连接错误,晕。
 
连接错误:
 
error LNK2001: unresolved external symbol "public: static struct QMetaObject const QDialog::staticMetaObject" (?staticMetaObject@QDialog@@2UQMetaObject@@B)
 
 
工程配置Linker->Input:Additional Dependencies
 
qtmain.lib
 
QtCore4.lib
 
QtGui4.lib
 
改成
 
kernel32.lib user32.lib shell32.lib uuid.lib ole32.lib advapi32.lib ws2_32.lib gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib winspool.lib qtmaind.lib QtCored.lib QtGuid.lib
 
这样就OK啦。
 
 一个简单的Hello world程序有5.82M。框架确实占了很多。
[喝小酒的网摘]http://blog.const.net.cn/a/12332.htm






你可能感兴趣的:(vs2008静态编译Qt4.8.6)