在C++项目中包含一个.idl文件

17
我正在使用C++构建一个项目,使用DirectShow的视频捕获库连接到相机。视频卡制造商(BlackMagic)提供了.idl(接口定义语言)文件,用于将新的捕获图形添加到标准集合中。
问题是,我从未遇到过.idl文件,而模糊的“包含文件”的指导并没有什么帮助。使用#include指令将其包含在内不会出现任何错误,但程序也无法引入我认为它旨在添加的各种定义,因为这是我被告知要在项目中包含的唯一文件。
我的问题是:如何在项目中包含.idl文件?

很可能您不需要将.IDL文件包含到您的项目中,或者有更简单、更好的方法来实现您想要达到的目标。 - Roman R.
1个回答

21
例如,您有一个AFileName.idl文件 1. 将AFileName.idl添加到您的项目中:右键单击项目-> 添加->现有项目... 2. 单击项目中的AFileName.idl->编译 3. 第2步将生成AFileName_h.h、AFileName_i.c、AFileName_p.c等文件。 4. 现在您可以#include "AFileName_h.h"并使用它,根据需要还可能需要将AFileName_i.c或其他生成的文件添加到您的项目中。
观察:这些步骤描述了VS2008,但我认为在这方面VS2010并没有不同。

7
如果您将一个 .c 文件添加到您的项目中,您可能还需要更改该文件的 C/C++ | 高级选项卡下的 "编译选项" 属性为 "编译为 C 代码 (/TC)",并且可能还需要将该文件的 C/C++ | 预编译头选项卡下的 "预编译头" 属性设置为 "不使用预编译头文件"。 - Frank Boyne

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接