Sto lavorando a un progetto legacy C++ COM che sto passando a Visual Studio 2010. Nel file IDL per questo progetto, devo fare riferimento a un file ODL da un altro progetto C++. Il mio problema è che l'altro progetto genera il suo file di intestazione come $ (nomefile) _h.h. Quando il mio file IDL genera il suo file di intestazione, genera il nome file ODL come $ filename.h e non può fare riferimento al file corretto.Modifica file di intestazione IDL generato
In altre parole, nel mio file IDL ("MyIDLFile.idl") Ho una dichiarazione come
importazione "MyODLFile.odl"
che nel file generato ("MyIDLFile.h") diventa
includono "MyODLFile.h"
quando ne ho bisogno per generare
includono "MyODLFile_h.h"
Come specificare il nome del file che voglio che l'IDL generi in una dichiarazione di importazione?
Questa è la dichiarazione di importazione a cui fa riferimento l'OP: http://msdn.microsoft.com/en-us/library/ windows/desktop/aa367047.aspx Ciò che accade quando si utilizza questo è che l'intestazione generata da MIDL per l'IDL dipendente conterrà quindi un include per l'altra intestazione. Sembra che usi lo stesso nome di O File DL con il suffisso ".h". Non capisco perché lo fa quando Visual Studio utilizza per impostazione predefinita "% (Nomefile) _h.h" per il nome del file di intestazione generato da MIDL. Quindi, utilizzando i valori predefiniti non è possibile importare i file IDL/ODL in un altro. – Steiny