一个更新 WTL 安装的 Perl 脚本





5.00/5 (1投票)
2000 年 9 月 7 日

46276

344
关于更新 WTL 安装的注意事项
引言
在安装 Microsoft Platform SDK 时,你可以选择安装 WTL(Windows 模板库)源代码文件,这是一系列类似于 MFC 的类,可以在不增加“真正的 MFC”带来的开销的情况下,使 GUI 开发更容易。不幸的是,默认安装并不能立即在 Visual Studio 中使用 WTL(编译器即使安装了 WTL 也无法找到 #include
的 WTL 头文件)。
描述
这个 Perl 脚本是为了自动化 WTL 的更新而编写的。不需要用户输入,所有参数都会被忽略。我们将 更新 定义为使 WTL 在 Visual Studio 项目中可用(即 #include
能够成功找到 WTL 文件)的过程。
首先,我们假设你已经安装了 Microsoft Platform SDK,并且至少选择了以下选项:
- 选择了“配置选项/与 MS Visual C++ 集成”
- 选择了“配置选项/注册环境变量”
- 选择了“源代码/Windows 模板库”
Microsoft 提供的 Readme.txt
文件指出,只需将 WTL 源代码目录中的头文件复制到其中一个包含目录(编译器查找 #include
时搜索的目录)就足够了。MS SDK 安装程序将路径 %MSSDK%/Include/Atl30
注册为第一个包含目录。因此,脚本首先查找“MSSDK”环境变量值(SDK 安装路径)。然后,将 %MSSDK%/Include/Atl30
(目标)中的文件与 %MSSDK%/Src/WTL/Include
(源)中的文件进行更新。更新过程会评估目标文件(如果存在)和源文件之间的时间戳差异。每次比较可能产生以下结果之一:
- 没有目标文件:将源文件复制到目标
- 目标文件和源文件具有相同的时间戳:不更新目标
- 目标文件比源文件更新:发出警告,不更新目标
- 目标文件比源文件旧:使用较新的源文件覆盖目标
你也可以使用此脚本来更新后续版本的 MSSDK。安装了较新的 Platform SDK 后,脚本将确保 %MSSDK%/Include/Atl30
包含 WTL 源代码文件的当前版本(所有较旧的文件将自动替换为新的(已安装)版本)。
讨论
更新 WTL 的另一种方法是更新 Visual Studio 在查找 #include
文件时扫描的目录列表。不过,此脚本尝试遵循 WTL 的 readme.txt
中的建议。
待办
- 不仅更新源代码,还要更新应用程序向导文件。这意味着将 awx 文件从 WTL 安装目录复制到 Visual Studio 向导目录。唯一的问题是如何找到 Visual Studio 的安装路径……