Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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