WTLVisual C++ 7.1Visual C++ 7.0Visual Studio .NET 2003Windows 2003Windows 2000Visual C++ 6.0Windows XP中级开发Visual StudioWindowsC++
将 WTL 与 Intellisense 结合使用






3.38/5 (11投票s)
2003年12月25日
3分钟阅读

54953

513
通常,Intellisense 无法与 WTL 正常配合。这里提供一种解决方法。
引言
在决定 MFC 对我来说过于臃肿后,我发现了 WTL。我阅读了 CodeProject 上关于它们的各种文章,并渴望尝试这个出色的 Win32 新包装器。(想象一下...不需要支持文件!)
不幸的是,我很快发现 Visual Studio 中我最喜欢的部分 Intellisense 无法正常工作。这让我感到沮丧,因为我是 Intellisense 的重度用户。在整个沮丧的过程中,我决定购买 Visual C++ .NET 2003。(我最初有 VC2002。)虽然它解决了一些不相关的问题,但并没有解决我的问题,所以我决定尝试寻找另一种方法。
实际上,我在 5 分钟内就找到了一个解决方案。我从某人那里得到一个想法,他们说他们在项目中包含了所有 WTL 头文件。我认为这很混乱,并决定尝试将它们包含在一个静态库中。库本身不做任何特殊的事情。
可能还有其他解决方案,如果您有,请随时发布,以便我相应地更新文章。但我决定为此写我的第一篇文章,因为它帮助了我,并希望也能帮助其他人。
包含的源文件
在本文顶部的链接的源文件中,您将找到一个静态库。如果您不想按照以下步骤操作,您可以下载源 ZIP 文件并跳到步骤 4。注意:它是在 VS2003 中创建的,并使用了 WTL 7.1 头文件。
解决方法
- 步骤 1: 创建一个新 Win32 项目。我使用 "WTL71Intellisense" 作为项目名称,因为这是我正在使用的 WTL 版本。在 "应用程序设置" 下选择 "静态库"。其余的保持默认设置。(预编译头,无 MFC)
- 步骤 2: 在项目资源管理器中右键单击项目名称。选择 "添加" > "添加现有项目"。导航到您保存 WTL 头文件的 '(WTL)\include' 目录。选择所有项目,并将它们添加到项目中。
- 步骤 3: 确保您处于 Release 模式,并构建库。如果一切顺利,您的库应该会构建成功。转到 "Release" 目录,找到 .lib 文件。
- 步骤 4: 将 .lib 文件放置在您的库目录中。我的目录是 C:\Program Files\Visual Studio Projects\vc7\lib。 (使用 VS2003。使用其他安装程序,您的可能不同)
您完成了!要使用该库
- 步骤 1: 在项目资源管理器中右键单击项目名称。选择 "属性",然后转到 "链接器" 选项卡,子部分 "输入"。选择 "所有配置"。
- 步骤 2: 在 "附加依赖项" 中,添加库文件的名称。(例如,WTL71Intellisense.lib)
Intellisense 现在应该可以正常工作了。
注释
- 尤其是在 MFC 项目中,与任何 WTL 项目一样,请小心代码中的名称冲突。
- 除了链接库之外,您无需更改项目中的任何其他内容。
- 链接库不应影响您的可执行文件。
- 如果您更改了 WTL 源文件,最好重新构建库项目。