我正在處理傳遞給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