65.9K
CodeProject 正在变化。 阅读更多。
Home

一个更新 WTL 安装的 Perl 脚本

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2000 年 9 月 7 日

viewsIcon

46276

downloadIcon

344

关于更新 WTL 安装的注意事项

  • 下载源代码文件 - 1 Kb
  • 引言

    在安装 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 的安装路径……
    © . All rights reserved.