在坛子里看到一些关于Qtnode的文章,正巧最近M$发布了VS 2005 express edition。就想常识在VC 2005 express editon上编译Qt。于是,就有了下面这篇文章。
首先说一下我的安装环境。
操作系统是Windows xp sp2,稍微带点病毒(这年头,哪个系统没有点病毒的,当然Linux除外)。
从M$的网站上下载了VC2005ee的iso安装镜像(
vc.iso,里面带有MSDN和SQL,以及安装时需要的dotnet framework2.0),下文将简称其问VC2005
M$
platform sdk for windows xp sp2的full安装包(本来是想用
platform sdk for 2003 sp1的,但是这个东西目前正在下载中),下文将简称其为SDK。
Qt的源代码是从trolltech的网站上下载的qt-win-opensource-src-4.1.3.zip
Qt的补丁是从qtnode上下载的
Qtnode-acs-qt4.1.3.zip安装编译环境。
安装VC2005和SDK的过程很简单(都是win程序么,setup就行),不过
SDK需要进入命令行先解压缩一下,方法时进入存放SDK下载文件的目录,新建一个目录,然后运行
最重要的是将VC2005和SDK集成起来,由VC2005提供开发cl编译器、link链接器和IDE,由SDK提供头文件和库文件。
我是遵照这篇文章的说明
《Using Visual C++ 2005 Express Edition with the Microsoft Platform SDK》来进行配置的,修改了
VCProjectEngine.dll.express.config (位于“%ProgramFiles%\Microsoft Visual Studio 8\VC , 将sdk的文件加入到VC的exec,include,lib目录列表中)
corewin_express.vsprops (位于“%ProgramFiles%\Microsoft Visual Studio 8\VC\VCProjectDefaults,将必要的库文件加入到默认项目中)和
AppSettings.htm (位于“%ProgramFiles%\Microsoft Visual Studio 8\VC\VCWizards\AppWiz\Generic\Application\html\1033\",开启“创建windows程序”和“创建DLL程序”的wizard)三个文件。
解压Qt源代码并打补丁
用winrar或者其他工具解开qt-win-opensource-src-4.1.3.zip,对于winrar来说,直接指着qt-win-opensource-src-4.1.3.zip的图标,点右键,选择“解压缩到当前位置”即可。解压缩qt-win-opensource-src-4.1.3.zip,会生成一个qt-win-opensource-src-4.1.3目录,里面包含Qt4.1.3的所有所有源代码和其他文件。
打开Qtnode-acs-qt4.1.3.zip,将里面的全部文件释放到qt-win-opensource-src-4.1.3目录。然后打开一个命令行提示符,进入qt-win-opensource-src-4.1.3目录,运行:
这时候会显示
一般这一步不会有什么错误。如果出错的话,就看看你是不是将qtnode解压缩出来的文件方错了目录。
配置、编译Qt
老实说,我在这一步其实没有成功。这一步是这样做的:
由于安装了Qtnode补丁,我们在配置的时候就不能再使用configure.exe了(
《Qt_with_VS》是这么说得)。
而应该使用qconfigure.bat,其运行格式是:
- You must specify the compiler to use:
- qconfigure {g++/msvc/msvc.net/msvc2005/borland/bccx} [options]
下面这行命令可以查看配置情况和帮助
- qconfigure msvc2005 --help
由于我用的是msvc2005,所以运行
- qconfigure.bat msvc2005 -release -qmake -p
- rocess -plugin-sql-odbc -qt-gif
然后会显示并询问你是否同意GPL协议
- This is the Qt/Windows Open Source Edition.
- You are licensed to use this software under the terms of
- the GNU General Public License.
- Type '?' to view the GNU General Public License.
- Type 'y' to accept this license offer.
- Type 'n' to decline this license offer.
- Do you accept the terms of the license?
输入y,敲回车。
然后会显示当前Qt的配置情况,并询问是否开始编译qmake
(这一步之后,我开始出错了)
输入y,敲回车,Qt的编译就开始了。
遇到错误了
在之后的编译刚开始没多久,我就遇到了错误提示。
- cl -c -FIqmake_pch.h -Yuqmake_pch.h -Fptmp\qmake_pch.pch -nologo -Zm200
- -GS -wd4996 -O2 -MD -GR -EHsc -W3 -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_EDITION=
- QT_EDITION_DESKTOP -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DQT_NO_TEXTCODEC -DQT_NO_
- LIBRARY -DQT_NO_STL -DQT_NO_COMPRESS -DQT_NO_UNICODETABLES -DQT_NO_GEOM_VARIANT
- -DQT_NO_DATASTREAM -DQMAKE_OPENSOURCE_EDITION -DQT_NODLL -DQT_NO_THREAD -DQT_NO_
- QOBJECT -DWIN32 -I"../src/corelib/arch/generic" -I"generators" -I"generators\uni
- x" -I"generators\win32" -I"generators\mac" -I"../include" -I"../include/QtCore"
- -I"../qmake" -I"../mkspecs/win32-msvc2005" -Fotmp\ @C:\DOCUME~1\lophyxy\LOCALS~1
- \Temp\nm74E.tmp
- makefiledeps.cpp
- ../mkspecs/win32-msvc2005\qplatformdefs.h(30) : fatal error C1083: Cannot open i
- nclude file: 'windows.h': No such file or directory
- NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8\VC\BIN\c
- l.EXE"' : return code '0x2'
- Stop.
cl编译器提示:找不到windows.h文件。
[ 此贴被lophyxp在2006-06-07 21:56重新编辑 ]