重提为 Visual C++ 创建扩展 SDK

  • Jonathan Allen
  • 方盛

2012 年 11 月 21 日

话题:C++语言 & 开发

Visual Studio 2012 有一个没有得到充分报道的特性,那就是它拥有为 Visual C++ 创建扩展 SDK的能力。SDK 开发类似于在.NET 中创建程序集或者在 Java 中创建 JAR 文件,它对于开发 Windows 8 应用程序非常重要。

C++ 开发者清楚,构建类库是一个相当乏味的过程。每个库并不仅仅是一个 DLL 文件,它还包括各种头文件和 TLB 文件(其中包含的是链接到该类库所需的元数据)。

扩展 SDK 不仅包括以上提到的那些,还包括.NET 程序集、Windows 元数据文件(WinMD)、工具箱设计时二进制文件、构建脚本和文档等等。标准的目录结构如下图所示:

扩展 SDK 的关键是一个名为 SDKManifest.xml 的文件。该文件用来告知 Visual Studio 和编译器如何解析 SDK。

目前,扩展 SDK 的模型还有很多局限性。即使它们和普通 C++ 代码的配合看起来很完美,但是 IDE 却只支持为 Windows 商店应用开发扩展 SDK。凭借处理 onovotny 的经验,有人指出,“扩展 SDK 对普通的托管库是有效的(虽然没有 UI)”。可以在 NuGet 论坛上找到C# 的相关例子

说到这里,有一个关于为 NuGet 提供扩展 SDK 支持的建议(链接)。至于具体实现,时间表似乎并未确定。

http://stackoverflow.com/questions/13149826/any-tools-for-building-extension-sdks-for-visual-c

查看英文原文Reintroducing Extension SDKs for Visual C++


感谢臧秀涛对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

C++语言 & 开发