Qt 4.3.3版增加了对msvc2005的支持,以前一直没有成功安装PSDK,所以一直没有进行编译试验。
今天试验了一下,系统中以前已经安装了Visual C++ 2005 Express,然后下载了PSDK,
下面是编译过程(假设Visual C++ 2005 Express和PSDK都安装在默认目录(C盘),Qt解压在D:\Qt\Qt-4.3.3目录下,MySQL的include和lib目录都在C:\MySQL目录下,计划将MySQL和SQLite支持编译到QtSql模块中去)
先打开菜单Microsoft Platform SDK for Windows Server 2003 R2->Open Build Environment Window->Windows XP 32-bit Build Environment->Set Windows XP 32-bit Build Environment (Retail),然后在由由菜单打开的控制台中执行下面命令:
"C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86
cd D:\Qt\Qt-4.3.3
configure -release -shared -fast -qt-sql-sqlite -qt-sql-mysql -I C:/MySQL/include -L C:/MySQL/lib/opt -l libmysql -no-qt3support -platform win32-msvc2005 -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg
nmake
经过上面的四个命令就能编译完成了,其中最后一步nmake的时间最长,有20分钟(注意,是按release fast noqt3support等编译的,并且已经将demo和example两个目录下的子目录删除掉不编译)
经过对比,发现,如果用mingw按相同配置进行编译的话,需要40分钟左右(不包括configure生成qmake的时间,并且不编译demo和example),而且用mingw编译出来的文件总的来说都比msvc2005编译出来的文件要大,大的能大一倍左右。(由此可见,按编译器的“默认”配置,msvc2005的编译速度和编译结果大小都比mingw要好)
最后写了一个Qt试验程序,分别用msvc2005和mingw进行编译, 也是msvc2005的编译结果比mingw的编译结果大。
为了方便用msvc2005进行Qt编程,需要写一个qtvars.bat文件,就像mingw版的Qt中的那样,下面是内容:
call "C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\SetEnv.Cmd" /XP32 /RETAIL
call "C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86
set QTDIR=D:\Qt\Qt-4.3.3
set PATH=D:\Qt\Qt-4.3.3\bin;%PATH%
set QMAKESPEC=win32-msvc2005
注意上面的目录要根据自己的情况进行配置。
这样就可以通过这个批处理文件来启动一个控制台了。
[ 此贴被XChinux在2008-01-28 14:02重新编辑 ]