Definieren Sie eine Struktur in einer midl erzeugten Header-Datei
-
20-09-2019 - |
Frage
Ich bin in dem Prozess die Build von einem Legacy-Produkt zu automatisieren und zu haben gegen eine Wand ...
Ich habe eine IDL-Datei, die in VC kompiliert wird ++ 6.0 midl mit einem TLB zu erzeugen, .h und C-Datei, die einen manuellen Build-Schritt muss hinzufügen:
struct StructDef;
Genau vor einem MIDL_INTERFACE in der erzeugten H-Datei. Der Rest der .h-Datei verwendet die Definition, und ich kann nicht kompiliert werden, bis dieser hinzugefügt wird.
Ich bin nach einer Möglichkeit, die Header-Datei mit der Struktur Definition (bevorzugt) oder zumindest eine Art und Weise zu automatisieren diesen Code hinzufügen Schritt durch einen benutzerdefinierten Schritt automatisch zu generieren.
Lösung
#pragma midl_echo
instruiert MIDL zu Einsatz ein beliebiges Stück Text in die generierte Header-Datei. Sie können es wie folgt verwendet werden:
#pragma midl_echo("struct StructDef;")
Es scheint, dass die cpp_quote
Attribut bietet eine ähnliche Funktionalität.
Alternativ, wenn Sie Cygwin installiert haben, können Sie finden es einfacher (oder nur empfohlen) Post -Prozess die Header-Datei mit sed
in einem benutzerdefinierten Schritt. Das würde auch funktionieren.