• 7684阅读
  • 2回复

用msvc2005编译Qt 4.3.3 OpenSource版本成功 [复制链接]

上一主题 下一主题
离线XChinux
 

只看楼主 正序阅读 楼主  发表于: 2008-01-26
— 本帖被 XChinux 执行加亮操作(2008-01-26) —
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重新编辑 ]
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线liujianboy
只看该作者 2楼 发表于: 2008-02-03
另外想说一句,4.3.3在vs2005的team suite edtion下编译也没有问题,完全不用再去找Qt commercial的版本了
离线liujianboy
只看该作者 1楼 发表于: 2008-02-03
老大的CPU真强,我的T5500大概要40分钟以上。而且是nmake sub-src

ps:我试了一下编译成静态库,结果QtGui.lib有30多M,而动态库才9M多,怎么会这么大啊?都是默认参数编译的,而且编译静态库还选择了-no-qt3support
快速回复
限100 字节
 
上一个 下一个