Gewusst wie: Kompilieren von MFC-Code und ATL-Code mit /clr

In diesem Thema wird erläutert, wie vorhandene MFC- und ATL-Programme für die Common Language Runtime kompiliert werden.

So kompilieren Sie eine ausführbare MFC-Datei oder eine reguläre MFC-DLL mit /clr

  1. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und klicken Sie dann auf Eigenschaften.

  2. Erweitern Sie im Dialogfeld Project Eigenschaften den Knoten neben Konfigurationseigenschaften, und wählen Sie Allgemein aus. Legen Sie im rechten Bereich unter Project Standardwerte die Common Language Runtime-Unterstützung auf Common Language Runtime-Unterstützung (/clr) fest.

    Stellen Sie im gleichen Bereich sicher, dass Use of MFC (Verwenden von MFC ) auf Use MFC in a Shared DLL (MFC in einer freigegebenen DLL verwenden) festgelegt ist.

  3. Erweitern Sie unter Konfigurationseigenschaften den Knoten neben C/C++ , und wählen Sie Allgemein aus. Stellen Sie sicher, dass Debuginformationsformat auf Program Database /Zi (not /ZI) festgelegt ist.

  4. Wählen Sie den Knoten Codegenerierung aus. Legen Sie Minimale Neuerstellung aktivieren auf Nein (/Gm-) fest. Legen Sie außerdem Grundlegende Laufzeitüberprüfungen auf Standard fest.

  5. Wählen Sie unter Konfigurationseigenschaften die Option C/C++ und dann Codegenerierung aus. Stellen Sie sicher, dass die Laufzeitbibliothek entweder auf Multithread-Debug-DLL (/MDd) oder Multithread-DLL (/MD) festgelegt ist.

  6. Fügen Sie in Stdafx.h die folgende Zeile hinzu.

    #using <System.Windows.Forms.dll>
    

So kompilieren Sie eine MFC-Erweiterungs-DLL mit /clr

  1. Führen Sie die Schritte unter "So kompilieren Sie eine ausführbare MFC-Datei oder eine reguläre MFC-DLL mithilfe von /clr" aus.

  2. Erweitern Sie unter Konfigurationseigenschaften den Knoten neben C/C++ , und wählen Sie Vorkompilierte Header aus. Legen Sie Vorkompilierten Header erstellen/verwenden auf Nicht verwenden vorkompilierte Header fest.

    Klicken Sie alternativ in Projektmappen-Explorer mit der rechten Maustaste auf Stdafx.cpp, und klicken Sie dann auf Eigenschaften. Erweitern Sie unter Konfigurationseigenschaften den Knoten neben C/C++ , und wählen Sie Allgemein aus. Legen Sie Kompilieren mit Common Language Runtime-Unterstützung auf Keine Common Language Runtime-Unterstützung fest.

  3. Klicken Sie für die Datei, die DllMain und alle aufruft, in Projektmappen-Explorer mit der rechten Maustaste auf die Datei, und klicken Sie dann auf Eigenschaften. Erweitern Sie unter Konfigurationseigenschaften den Knoten neben C/C++ , und wählen Sie Allgemein aus. Legen Sie im rechten Bereich unter Project Standardwerte die Option Compile with Common Language Runtime support (Mit Common Language Runtime-Unterstützung kompilieren) auf No Common Language Runtime support (Keine Common Language Runtime-Unterstützung) fest.

So kompilieren Sie eine ausführbare ATL-Datei mit /clr

  1. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und klicken Sie dann auf Eigenschaften.

  2. Erweitern Sie im Dialogfeld Project Eigenschaften den Knoten neben Konfigurationseigenschaften, und wählen Sie Allgemein aus. Legen Sie im rechten Bereich unter Project Standardwerte die Common Language Runtime-Unterstützung auf Common Language Runtime-Unterstützung (/clr) fest.

  3. Erweitern Sie unter Konfigurationseigenschaften den Knoten neben C/C++ , und wählen Sie Allgemein aus. Stellen Sie sicher, dass Debuginformationsformat auf Program Database /Zi (not /ZI) festgelegt ist.

  4. Wählen Sie den Knoten Codegenerierung aus. Legen Sie Minimale Neuerstellung aktivieren auf Nein (/Gm-) fest. Legen Sie außerdem Grundlegende Laufzeitüberprüfungen auf Standard fest.

  5. Wählen Sie unter Konfigurationseigenschaften die Option C/C++ und dann Codegenerierung aus. Stellen Sie sicher, dass die Laufzeitbibliothek entweder auf Multithread-Debug-DLL (/MDd) oder Multithread-DLL (/MD) festgelegt ist.

  6. Klicken Sie für jede MIDL-generierte Datei (C-Dateien) mit der rechten Maustaste auf die Datei in Projektmappen-Explorer, und klicken Sie dann auf Eigenschaften. Erweitern Sie unter Konfigurationseigenschaften den Knoten neben C/C++ , und wählen Sie Allgemein aus. Legen Sie Kompilieren mit Common Language Runtime-Unterstützung auf Keine Common Language Runtime-Unterstützung fest.

So kompilieren Sie eine ATL-DLL mit /clr

  1. Führen Sie die Schritte im Abschnitt "So kompilieren Sie eine ausführbare ATL-Datei mit /clr" aus.

  2. Erweitern Sie unter Konfigurationseigenschaften den Knoten neben C/C++ , und wählen Sie Vorkompilierte Header aus. Legen Sie Vorkompilierten Header erstellen/verwenden auf Nicht verwenden vorkompilierte Header fest.

    Klicken Sie alternativ in Projektmappen-Explorer mit der rechten Maustaste auf Stdafx.cpp, und klicken Sie dann auf Eigenschaften. Erweitern Sie unter Konfigurationseigenschaften den Knoten neben C/C++ , und wählen Sie Allgemein aus. Legen Sie Kompilieren mit Common Language Runtime-Unterstützung auf Keine Common Language Runtime-Unterstützung fest.

  3. Klicken Sie für die Datei, die DllMain und alle aufruft, in Projektmappen-Explorer mit der rechten Maustaste auf die Datei, und klicken Sie dann auf Eigenschaften. Erweitern Sie unter Konfigurationseigenschaften den Knoten neben C/C++ , und wählen Sie Allgemein aus. Legen Sie im rechten Bereich unter Project Standardwerte die Option Compile with Common Language Runtime support (Mit Common Language Runtime-Unterstützung kompilieren) auf No Common Language Runtime support (Keine Common Language Runtime-Unterstützung) fest.

Siehe auch

Gemischte (native und verwaltete) Assemblys