您的位置:首页 > 编程语言 > Qt开发

vs2008静态编译Qt4.8.6

2015-12-02 10:52 423 查看

转自:http://m.blog.csdn.net/blog/mowwwcom/39995893

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: