作者xcycl (XOO)
看板C_and_CPP
标题[心得] 编译 Qt4 on Visual Studio
时间Mon Jul 23 22:11:53 2007
Qt4 Open Source Edition 本身在 Windows 下并不支援用 gcc 以外的编译器编译,
不过经由非官方的 patch, 可以支援 Visual Studio (express), 简单讲解一下步骤。
用 Evaluate 版跟 Commercial 版的不用直接跳出去吧, 因为没这问题。囧
本说明参考
http://wiki.qtcentre.org/index.php?title=Qt4_with_Visual_Studio
http://kjellkod.blogspot.com/2007/02/qt4-on-free-ide-visual-studio-express.html
并修改一些顺序, 习惯看英文的就直接看这篇。
测试环境是用:
Visual C++ 2005 Express SP1
Windows SDK Update for Windows Vista
Qt/Windows Open Source Edition 4.3.0
来开始吧!
一、预先需求与设定
在编译 Qt4 我们总共需要:
1. Qt4/Windows Open Source Edition
http://trolltech.com/developer/downloads/qt/windows
2. Qt4 patch for Advanced Compiler Support:
http://sourceforge.net/project/showfiles.php?group_id=49109&package_id=165202
3. Windows SDK(有在 windows 开发的应该都有装 ...)
这个用 Windows Vista 还是 Windows Server 2003 都可以,
Vista 的 ISO 档:
http://0rz.tw/832Sb
exe 档:
http://0rz.tw/1b2SW
将 1. 跟 2. 解压缩到同一个目录後, 执行 installpatch43.bat 进行 patching。
二、Windows SDK 设定:
1. 安装 Windows SDK, 依照指示进行即可。
除了 Headers and Libraries 之外, 都可以不用装。
2. (非必需) 若是用 Visual C++ 2005 Express, 需要再将 Win SDK 的目录加进
环境变数中以及 VC++ IDE 的设定:
2a. 执行 Microsoft Windows SDK \ Visual Studio Registration \
Integrate Windows SDK with Visual Studio 2005
2b. 开启 Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat
2c. 档案开头加入以下指令:
@set PATH=C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin;%PATH%
@set INCLUDE=C:\Program Files\Microsoft SDKs\Windows\v6.0\Include;%INCLUDE%
@set LIB=C:\Program Files\Microsoft SDKs\Windows\v6.0\Lib;%LIB%
(以上目录请依自己环境作修改)
三、编译 Qt4
先决定好 Qt4 安装的目录(例 C:\Qt4), 不要有空格, 底下皆用 C:\Qt4;
而 Qt4 的原始档目录则用 D:\Qt4-src。请依自己的设定改变。
1. 复制 D:\Qt4-src\mkspecs 目录到 C:\Qt4
2. 执行 Visual Studio command prompt (Visual Studio 命令提示字元)
3. 到 D:\Qt4-src 中, 执行
qconfigure spec -prefix C:\Qt4 [options] && nmake
其中 spec 可以是
msvc (给 VC6 环境用)
msvc.net (给 VS .NET 2003 环境用)
msvc2005 (给 VC 2005 环境用)
依照你的环境选择;options 请参阅 configure.exe -h 输出的说明。
-prefix 选项後接 C:\Qt4, 之後会直接安装到该目录。
4. (非必需) 若用 msvc2005 编译的, 因为会产生 .manifest 档案,
直接安装会漏掉, 解决方法有二, 一是将 .manifest 档案手动复制至 C:\Qt4,
二是用 mt 将 .exe 跟 .manifest 档案合并,
4a. 先开启 Visual Studio Command Prompt:
4b. 到 D:\Qt4-src 目录
4c. 执行
for /r %f in (*.exe.manifest) do mt -manifest %f -outputresource:%~dpnf;#1
5. 若编译没出现任何问题的话, 执行
nmake install
安装,或是分成三个指令
nmake install_qmake
nmake sub-src-install_subtargets
nmake install_htmldocs
(我没试过)
ok, 现在可以到 QTDIR\bin 中执行任一个执行档, 例 designer 看有没有问题 :p
四、设定 Qt4 环境环境变数:
1. 到 控制台 \ 系统 \ 进阶 \ 环境变数
2. 新增两个系统变数
变数名称: QTDIR
变数值: C:\Qt4
变数名称: QMAKESPEC
变数值: win32-msvc2005
(若用 msvc.net 就用 win32-msvc.net 依此推类)
3. 修改 PATH 变数值, 最後增加 C:\Qt4。
五、设定 Visual Studio 环境变数:
1. 开启 VS, 到 Tools \ Options \ Projects and Solutions \ VC++ Directories
2. 选 Includes Files 将下列全部加进去:
$(QTDIR)\include
$(QTDIR)\include\Qt
$(QTDIR)\include\QtCore
$(QTDIR)\include\QtGui
$(QTDIR)\include\QtNetwork
$(QTDIR)\include\QtSvg
$(QTDIR)\include\QtXml
$(QTDIR)\include\Qt3Support
$(QTDIR)\include\ActiveQt
3. 选 Library files 加入 $(QTDIR)\lib
4. (非必备) 若要用 Intellisense, 就需要以下步骤:
4a. 将 D:\Qt4-src\src 目录复制到 C:\Qt4
4b. 选 Source files 加入 $(QTDIR)\src
这样就大抵完成了。
六、编译 Qt 程式
1. File \ New Project \ Visual C++ \ General \ Makefile Project
2. 接下来要把 qmake 跟 nmake 指令合并,
2a. 点 next, 设定 debug configuration,
Build Command Line:
qmake -project && qmake && nmake debug
Rebuild Command Line:
qmake -project && qmake && nmake debug
Clean Command Line:
nmake debug-clean
2b. 点 next, 设定 release configuration,
Build Command Line:
qmake -project && qmake && nmake release
Rebuild Command Line:
qmake -project && qmake && nmake release
Clean Command Line:
nmake release-clean
完成後点选 Done.
2c. 最後, 若要 debug 必须再设定将 Configuration Properties \ Debug \ Command
设定到该程式档。
4. 这样应该就可以 build, 随便拿 Tutorial 上的范例编编看。Try it.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.210.6
※ 编辑: xcycl 来自: 140.116.210.6 (07/23 23:12)
2F:推 SHBK:写得很详细!~ 07/24 00:41
3F:推 owokko:大推~ 写的很棒!! 07/24 13:06