我在哪里可以获得活动模板库?

时间:2009-04-17 21:00:46

标签: atl

我以前从未使用过COM,而且我的任务是编写一个使用某些第三方COM对象的应用程序。如果有人能指出一些关于如何使用它们的好教程,我将不胜感激。更直接的是,我似乎没有安装活动模板库。我在线搜索但无法弄清楚如何获得它。

6 个答案:

答案 0 :(得分:4)

它是Microsoft Visual Studio的一部分(但不是Express Edition。)

答案 1 :(得分:3)

我认为您必须拥有Visual Studio 2005或2008(不是Express)的副本才能获得ATL。如果您安装了其中一个,但没有ATL,请转到“控制面板:添加/删除程序”并执行“修改”安装(程序CD或DVD在驱动器中)并确保该框检查ATL。

答案 2 :(得分:3)

正如Dan指出的那样,这些是随Visual Studio一起发布的。

如果您没有Visual Studio,则可以从其中一个Microsoft Visual C ++ Redistributable软件包中获取ATL库:

注意:标记为2005的是版本8(atl80.dll),标记为2008的是版本9(atl90.dll)。

答案 3 :(得分:2)

至于教程

我在网上找不到一个非常好的。使用ATL / COM时有几个OK页面:

    Don Box的
  • The Active Template Library Makes Building Compact COM Objects a Joy(资深大师 COM)。这篇文章开头说:“我喜欢 COM。 COM很好。就像一个精致的比尔森 或者说,COM从不令人失望。在 事实上,我越看COM, 我更喜欢它。不幸的是,我工作 在C ++中,C ++不共享我的 欣赏中的美好事物 生活。“尽管有大师的话 传教,以及它的事实 现在12岁,这是一个非常好的 文章...
  • Mike Dunn在CodeProject上的出色tutorial on COM
  • DevGuy's C++ COM Tips - 一种大杂烩的链接和建议。
  • The COM Programmer's Cookbook - 这篇古老的(1995)文章并不坏,尽管它的年代和事实上它描述了用C而不是C ++(显式vtable!)实现COM对象。

我和COM和ATL有点生疏,但是如果我没记错的话,你会想要学习的课程你会得到最多的使用(特别是如果你正在使用别人的COM对象而不是比实现自己的CComBSTR,CComPtr和CComVariant。 Visual C ++中的#import语句使得使用外部COM对象变得更加容易,它会从外部DLL或EXE为您生成智能指针类。

如果您要实现COM对象,我强烈建议您获取ATL Internals的副本(现在有一个更新的版本,涵盖了ATL v8)。是的它确实在部分中进入了一些血腥的细节,但即使作为一本介绍书,它也写得很好。

如果你之前从未使用过COM,那么“经典”书籍Essential COMEffective COM非常好,你可以从你最喜欢的旧书来源中得到它们。如果你还没有,你也会想要非常熟悉RAII成语。

新闻组microsoft.public.vc.atl非常适合提出特定问题。 (但他们在那里比在StackOverflow上更粗暴)

注意:COM有很多小问题,尽管ATL确实帮助它变得更容易和更容易没有太大的膨胀。 “模拟动态绑定”技术({3}}在C ++世界中非常有用,不仅仅是在ATL / COM的上下文中,尤其是如果您正在开发一个可重用类库,您希望在其中进行子类化或混合一次只存在一个实例(例如,提供mixin功能的类CSpiffyFramework,您想要重复使用很多,并且您有一个想要包含该功能的派生类,并且它不是虚拟对象模型的一部分,所以你不需要vtable)。

祝你好运!

答案 4 :(得分:0)

我安装了这个:http://www.microsoft.com/en-us/download/details.aspx?id=3138并且在我的构建服务器上获得了C ++编译器和所有东西,但是没有ATLMFC库。 上面链接的redist包只是可再发行组件,而不是所需的头文件和包含文件。 经过大量的搜索,我最终在服务器上安装了vs2008,废话。

答案 5 :(得分:-1)

这里是如何使用atl和vs express:

你需要WDK 7.1.0:

https://www.microsoft.com/en-us/download/details.aspx?id=11800

  1. 下载Visual Studio Express Edition

    从Microsoft免费获取VS Express C ++

  2. 从Microsoft下载免费提供的Windows驱动程序工具包(7.1或更高版本)

    从微软获取WDK 7.1.0

    您可以使用虚拟克隆驱动器挂载ISO文件或使用7-zip解压缩。

  3. 安装WDK并选择" Build Environments"选项

    这将安装ATL和MFC头文件和lib文件。 ATL是Windows上FireBreath的要求。确保将其安装在默认位置,以便FireBreath可以找到它

  4. 对于VS Express 2010

    如果您使用的是旧版本的FireBreath,则scjohn发布的这篇文章可能对您有用。请注意,不再需要FireBreath 1.4 beta 1及更高版本的这些步骤!

  5. http://www.firebreath.org/display/documentation/Building+with+Visual+Studio+Express

    [vs2010 express include path]

    C:\ WINDDK \ 7600.16385.1 \ INC \ atl71

    [vs2010 express lib path]

    C:\ WINDDK \ 7600.16385.1 \ lib中\ ATL \ i386的