c++ - 更改 IDL 生成的头文件

标签 c++ com idl

我正在处理一个遗留的 c++ COM 项目,我将转移到 Visual Studio 2010。在这个项目的 IDL 文件中,我必须引用另一个 c++ 项目的 ODL 文件。我的问题是另一个项目将其头文件生成为 $(filename)_h.h。当我的 IDL 文件生成它的头文件时,它生成 ODL 文件名作为 $filename.h,它不能引用正确的文件。

换句话说,在我的 IDL 文件(“MyIDLFile.idl”)中我有这样的语句

导入“MyODLFile.odl”

在生成的文件(“MyIDLFile.h”)中变为

包含“MyODLFile.h”

当我需要它生成

包含“MyODLFile_h.h”

如何在导入语句中指定我希望 IDL 生成的文件名?

最佳答案

我不确定您所说的 import 语句是什么意思,但您正在寻找的内容可能会在项目的属性下找到。转到属性窗口 (Alt-F7) 并在“Configuration Properties/MIDL/Output”下,您将有机会声明您希望它创建的头文件。由于您的项目是遗留项目,因此从头文件名中删除“_h”可能更容易(例如 $(ProjectName).h 而不是 $(ProjectName)_h.h)。参见 http://support.microsoft.com/kb/321274了解更多信息。

关于c++ - 更改 IDL 生成的头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4824769/

相关文章:

c++11 线程不修改相同的值

c++ - 模板运算符重载函数上的 undefined symbol

com - "enum"可以用作 COM 中的标志吗?

c++ - DirectShow 解码器减少媒体时间

javascript - 是否有适用于 JavaScript 的 WinRT API 的机器可读版本?

c++ - 我可以在 IDL 函数定义中使用 const 修饰符吗?

c++ - 运行时错误反转字符串

c++ - 将通用结构作为接口(interface)中的参数传递

Delphi 2009 COM/ActiveX 类型库支持稳定性

c++ - 如何访问 native IDataObject