/cpp_cmd Switch

Der Schalter /cpp_cmd gibt den Präprozessor an, den der MIDL-Compiler zum Vorverarbeitung von Eingabedateien verwendet.

midl /cpp_cmd "C_preprocessor_binary"

Schalteroptionen

C_preprocessor_binary

Gibt den Befehl an, der den Präprozessor aufruft. Mit diesem Befehl können Entwickler den Standardvorprozessor außer Kraft setzen. Standardmäßig ruft MIDL den Microsoft C/C++-Compiler aus der Buildcomputerumgebung auf.

Bemerkungen

Das C_preprocessor_binary Argument für den Switch kann den vollständigen Pfad angeben; Die Exe-Suffixe und Anführungszeichen sind optional. In der Regel verwenden Entwickler den Wechsel, um eine bestimmte Version des Microsoft C/C++-Preprocessors oder Äquivalents in der Buildumgebung auszuwählen. In diesem Fall ist es nicht erforderlich, den Schalter /cpp_opt mit /cpp_cmd zu verwenden.

Wenn Sie einen Nicht-Microsoft-Präprozessor verwenden, insbesondere wenn der angegebene Preprocessor die Ausgabe nicht auf stdout leitet, muss der C-Compilerschalter, der die Ausgabe als Teil des MIDL-Compilers /cpp_opt-Switch umleiten, angegeben werden. Weitere Informationen finden Sie unter C-Preprocessor-Anforderungen für MIDL

Der Preprocessor wird von einer Befehlszeichenfolge aufgerufen, die aus den informationen besteht, die vom MIDL-Compiler durch /cpp_cmd, /cpp_opt, /D, /I und /U-Schalter bereitgestellt werden. In der folgenden Tabelle wird zusammengefasst, wie die Befehlszeichenfolge für jede Kombination von /cpp_cmd und /cpp_opt Schaltern erstellt wird.

Wenn der Schalter /cpp_cmd nicht angegeben wird, ruft der MIDL-Compiler den Microsoft C/C++-Compiler auf. MIDL verwendet eine Cl.exe Binärdatei, die in der Buildumgebung gefunden wurde.

Wenn der Schalter /cpp_opt nicht vorhanden ist, verkettet der MIDL-Compiler die Zeichenfolge, die durch die Option /cpp_cmd angegeben wird, mit den Informationen, die durch die Optionen MIDL /I, /D und /U angegeben werden. Die Zeichenfolge /E wird auch mit der C-Compiler-Aufrufzeichenfolge verkettet, um anzugeben, dass der C/C++-Compiler nur Vorverarbeitung ausführen sollte. Der Schalter /nologo wird hinzugefügt, um das C/C++-Compilerbanner zu unterdrücken. Der MIDL-Compiler verwendet die verkettete Zeichenfolge, um den C-Präprozessor für IDL auf oberster Ebene sowie importierte IDL-Dateien und auch für vorhandene, entsprechende ACF-Dateien aufzurufen.

Wenn der Schalter /cpp_opt vorhanden ist, was ein seltener Fall für die aktuellen 32-Bit- und 64-Bit-Plattformen sein sollte, verkettet der MIDL-Compiler die durch die /cpp_cmd-Switch angegebene Zeichenfolge mit der durch den Schalter /cpp_opt angegebenen Zeichenfolge. Der MIDL-Compiler verwendet die verkettete Zeichenfolge, um die angegebene Preprocessor-Binärdatei anstelle des Standardvorprozessors aufzurufen. Wenn der Schalter /cpp_opt vorhanden ist, werden weder die VON /I, /D und /U angegebenen MidL-Compileroptionen noch der C-Compilerschalter /E mit der Zeichenfolge verkettet. Sie müssen die Option /E oder gleichwertig als Teil der Zeichenfolge angeben.

/cpp_cmd vorhanden? /cpp_opt vorhanden? Beschreibung
Nein (Standard) Nein (Standard) Ruft den Standardmäßigen Microsoft C/C++-Compiler mit Einstellungen auf, die von MIDL /I, /D und /U-Schaltern abgerufen wurden. Fügt den Preprocessor-Schalter /E und /nologo hinzu.
Ja Nein Ruft die angegebene Preprocessor-Binärdatei mit den gleichen Schaltern wie oben auf.
Nein Ja Ruft den Microsoft C-Compiler mit angegebenen Optionen auf. Verwendet nicht MIDL /I, /D, /U-Optionen . Sie müssen /E als Teil von /cpp_opt angeben.
Ja Ja Ruft die angegebene Preprocessor-Binärdatei mit angegebenen Optionen nur auf. Sie müssen Anführungszeichen verwenden.

 

Beispiele

midl /cpp_cmd d:\nt\tools\ia64\cl.exe /DFLAG=TRUE /Ic:\inc filename.idl

midl /cpp_cmd "mycpp" /DFLAG=TRUE /Ic:\inc filename.idl

midl /cpp_opt "/E /DFLAG=TRUE /Ic:\inc" filename.idl

midl /cpp_cmd "cl" /cpp_opt "/E /DFLAG=TRUE /Ic:\inc" filename.idl

Siehe auch

/savePP

/cpp_opt

Allgemeine MIDL-Befehlszeilensyntax

/no_cpp

C-Preprocessor-Anforderungen für MIDL