2011-07-25 109 views
12

我正在使用DirectShow的视频捕获库连接到摄像头的C++中构建项目。视频卡制造商(BlackMagic)提供了.idl(接口定义语言)文件,为标准集合添加新的捕获图。在C++项目中包含.idl文件

事情是,我从来没有遇到.idl文件,而非常模糊的“包含文件”方向并没有多大帮助。将它包含在#include指令中并不会引发任何错误,但是程序也无法吸引我想要添加的各种定义,因为这是我被告知包含在该项目中的唯一文件。

我的问题是:如何在项目中包含.idl文件?

+0

您很可能不需要将.IDL包含到您的项目中,或者有更简单和/或更好的方法来实现您尝试实现的任何目标。 –

回答

16
 
For example: you have an AFileName.idl 
1. Add the AFileName.idl to you project: Right Click on The project->Add->Existing Item... 
2. Click Right on The AFileName.idl from the project->Compile 
3. The step 2 will generate AFileName_h.h, AFileName_i.c, AFileName_p.c,... 
4. Now you can #include "AFileName_h.h" and use it, you also may need 
    to add AFileName_i.c or other generated files to your project 
    depending on your needs. 

观察:这些步骤是针对VS2008进行描述的,但我不认为VS2010在这个角度上有所不同。

+0

诀窍,非常感谢。 – wyatt

+3

如果你添加一个.c文件到你的项目中,你可能还必须更改文件的C/C++ |高级| “编译为”属性为“编译为C代码(/ TC)”,还可能需要设置文件的C/C++ |预编译头文件| “预编译头”属性为“不使用预编译头” –

相关问题