我正在处理传递给Visual Studio 2010的传统C++ COM项目。在此项目的IDL文件中,我必须从另一个C++项目引用ODL文件。我的问题是,其他项目生成它的头文件为$(文件名)_h.h。当我的IDL文件生成它的头文件时,它生成ODL文件名为$ filename.h,并且它不能引用正确的文件。更改IDL生成的头文件
换句话说,在我的IDL文件( “MyIDLFile.idl”),我有一个像
进口 “MyODLFile.odl” 声明
这在生成的文件( “MyIDLFile.h”)成为
包括 “MyODLFile.h”
,当我需要它来生成
包括 “MyODLFile_h.h”
如何指定文件名我想让IDL在导入语句中生成?
这是OP所指的导入语句:http://msdn.microsoft.com/en-us/library/ windows/desktop/aa367047.aspx 当你使用它的时候,会发生什么呢,就是MIDL为依赖IDL生成的头文件将包含另一个头文件的头文件,它似乎使用和O相同的名称带有“.h”后缀的DL文件。 我不明白为什么当Visual Studio默认为MIDL生成的头文件名使用“%(Filename)_h.h”时会这样做。因此,使用默认值,您永远不能将该IDL/ODL文件导入到另一个文件中。 – Steiny 2014-07-16 01:29:11