Qt4.6.0在visual studio 2005中的配置过程详解

漫长的编译结束,记录下过程=。=||

1.环境变量配置

根据http://www.qtcn.org/bbs/read.php?tid=25217 这个帖子里面说的配置了下环境变量(他的是Qt4.5.2),虽然说
这个设置多少有点冗余的,但是为了保证不出问题,都设置一遍。
PATH:
D:/QT-4.5.2/Qt/qt/bin;D:/QT-4.5.2/Qt/bin;D:/QT-4.5.2/Qt/mingw/bin;D:/QT-4.5.2/Qt/qt/lib
 
LIB:
D:/QT-4.5.2/Qt/qt/lib
 
INCLUDE:
D:/QT-4.5.2/Qt/qt/include;D:/QT-4.5.2/Qt/mingw/include
 
QMAKESPEC:
win32-msvc2005
 
QTDIR:
D:/QT-4.5.2/Qt/qt

 

2.编译前的准备

删除

src/3rdparty/webkit/WebCore/tmp/moc/debug_shared/mocinclude.tmp和src/3rdparty/webkit/WebCore/tmp/moc/release_shared/mocinclude.tmp

这两个文件,是为了使防止在编译的过程中出现下面这个错误。

QNetworkReplyHandler.obj : error LNK2001: 无法解析的外部符号 “public: vi

rtual struct QMetaObject const * __thiscall WebCore::FormDataIODevice::metaObjec

t(void)const ” (?metaObject@FormDataIODevice@WebCore@@UBEPBUQMetaObject@@XZ)

QNetworkReplyHandler.obj : error LNK2001: unresolved external symbol “public: vi

rtual void * __thiscall WebCore::FormDataIODevice::qt_metacast(char const *)” (?

qt_metacast@FormDataIODevice@WebCore@@UAEPAXPBD@Z)

 

Ps:

一开始在网上也看到过这个,但是没有按照去删除这两个文件,结果自己在编译的过程中也出现一堆的关于webkit的错误,一堆“无法解析的外部符号”的错误。

还好之后通过删除这个文件再继续nmake就可以继续编译了(继续nmake后会检测之前的是否被nmake过,如果是的话就会跳过去了)。

 

PPs:

编译过程中如果出现下面这个错误的话(有些人貌似没有出现这个)

api/qscriptextensionplugin.h(43): Error: Undefined interface

NMAKE : fatal error U1077: “D:/QT/Qt/2009.05/qt/bin/moc.exe”: 返回代码“0x1”

Stop.

NMAKE : fatal error U1077: “"C:/Program Files/Microsoft Visual Studio 8/VC/BIN/

nmake.exe"”: 返回代码“0x2”

Stop.

NMAKE : fatal error U1077: “cd”: 返回代码“0x2”

Stop.

那么同样,删除/src/script/tmp/moc/debug_shared/mocinclude.tmp和/src/script/tmp/moc/release_shared/mocinclude.tmp

这两个文件,继续nmake就行了。

 

 


 

3.编译工作

首先设置下vs2005的环境变量,为了让接下来configure能够找到nmake等的路径

也就是先在Command下面先运行

C:/Program Files/Microsoft Visual Studio 8/Common7/Tools/vsvars32.bat

就可以暂时设置关于vs2005所有环境变量的设置

(这时候不能关闭command命令窗口,因为这样设定过的环境变量时暂时的,只对当前的command有效)

 

Ps:也可以在开始菜单中直接运行visual stuido 2005的命令提示,这样就自动设定环境变量了,

其实它指定的路径也就是上面的vsvars32.bat,不过它根据不同的cpu的配置略有不同罢了。

所以还是推荐用这个visual stuido 2005的命令提示的方法,虽然我用的不是这个。

 

 

接下来就是进入configure目录运行configure了,我用的是

configure -debug-and-release -platform win32-msvc2005

网上查了下,这个阶段主要是运行qmake,而qmake根据不同的平台(如win32-msvc2005)来生成对应的makefile。

 

机器差,用了近20分钟。=。=||~ shit。

 

运行结束后,会提示run nmake

输入nmake就开始编译运行了。

10:55开始,中间上上网,看看美剧,占了点cpu,到17:56结束。 默认的参数配置下,耗时7个小时,外加大概5个G的硬盘空间。

Holy Shit~

(nmake是在C:/Program Files/Microsoft Visual Studio 8/VC/bin目录下的,

它是Windows平台下,命令行的编译程序,对qmake生成的Makefile以后进行编译和链接,生成windows平台下的库文件以供使用。)

 

 


 

4.清理阶段

上面的都跑完之后,输入nmake clean进行清理掉那些中间文件(pdb,obj等文件),清理出了4个G左右的空间。

nmake confclean是清理配制文件,据说有问题。。反正这个貌似占的空间不大,就没去执行了。

 

 


 

5.总结

在编译过程中,为了加快速度,可以对configure适当的加些参数,比如-fast,-no-webkit(这个貌似挺耗时的),

还有就是编译完后,qt下的examples目录默认也是会进行编译的,demos目录虽然说是生成了Makefile文件和*.vcproj文件,不过编译过程中并没有去编译这个。

如果不需要编译这些的话,最后就把examples目录和demos目录给删除掉或者重命名掉等,这个推荐的。

在nmake过程中,可以输入nmake sub-src,表示只编译Qt库.而不是全部的Qt包,这个具体不是很清楚。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值