如何在visual c ++项目中包含类型库?

时间:2011-10-14 10:48:47

标签: visual-c++ linker activex firebreath typelib

我正在开发一个FireBreath项目,它创建一个包含ActiveX控件功能的插件应用程序。我甚至有ActiveX控件的源代码。

根据FireBreath示例页面中提供的示例示例,我编写了必要的包装类来包装Active X控件。

要从firebreath项目调用事件接口,activex控件的类和函数,我从firebreath示例页面下载的程序使用这样的语句将activex控件类型信息公开给项目

// Import the ActiveX control's typelib so we can easily call methods, etc.
// on the ActiveX control.
#import "PROGID:FBExampleCtl.xpcmdbutton" no_namespace, raw_interfaces_only$

但是当我在我的程序中使用这样的东西时,它会给出一个错误,找不到标题中包含的类型库。

所以我无法理解如何将activex控件的类型库公开给我的项目,还使用我程序中类型库中定义的方法和函数。

ps:1)我还安装了Oleview来检查系统中是否可以使用类型库。从那以后我也试过像

这样的替代品
#import "GUID of the typelibrary". But this also didnot work.

2)我也试过

#import "myrequireddll.dll"  

并且还提到了调试环境中dll的路径。但编译器仍会出现相同的错误,无法找到该文件。

2 个答案:

答案 0 :(得分:3)

您可以使用以下#IMPORT指令直接在标题(.h)文件中导入TLB文件

#import "C:\<PATH_TO_YOUR_TLB_FILE>.tlb" no_namespace, raw_interfaces_only

答案 1 :(得分:-1)

在我的博客Setting up Visual Studio 2010 for MASM32 Programming上查看此信息。它说明了如何设置MASM32,它显示了如何添加第三方类型库并将文件包含到项目中。