Partager via


Comment : compiler du code MFC et ATL à l'aide de /clr

Cette rubrique explique comment compiler des programmes MFC et ATL existants pour cibler le Common Language Runtime.

Pour compiler un exécutable MFC ou une DLL MFC standard à l’aide de /clr

  1. Cliquez avec le bouton droit sur le projet dans l’Explorateur de solutions, puis cliquez sur Propriétés.

  2. Dans la boîte de dialogue Propriétés du projet, développez le nœud en regard des propriétés de configuration, puis sélectionnez Général. Dans le volet droit, sous Paramètres par défaut du projet, définissez la prise en charge du Common Language Runtime sur Common Language Runtime (/clr).

    Dans le même volet, vérifiez que l’utilisation de MFC est définie sur Utiliser MFC dans une DLL partagée.

  3. Sous Propriétés de configuration, développez le nœud en regard de C/C++ et sélectionnez Général. Assurez-vous que le format d’informations de débogage est défini sur Program Database /Zi (et non /ZI).

  4. Sélectionnez le nœud Génération de code. Définissez Activer la reconstruction minimale sur Non (/Gm-). Définissez également Les vérifications du runtime de base sur Par défaut.

  5. Sous Propriétés de configuration, sélectionnez C/C++ , puis Génération de code. Assurez-vous que la bibliothèque runtime est définie sur DLL de débogage multithread (/MDd) ou SUR DLL multithread (/MD).

  6. Dans Stdafx.h, ajoutez la ligne suivante.

    #using <System.Windows.Forms.dll>
    

Pour compiler une DLL d’extension MFC à l’aide de /clr

  1. Suivez les étapes décrites dans « Pour compiler un exécutable MFC ou une DLL MFC standard à l’aide de /clr ».

  2. Sous Propriétés de configuration, développez le nœud en regard de C/C++ et sélectionnez En-têtes précompilés. Définissez l’en-tête précompilé créer/utiliser l’en-tête précompilé pour ne pas utiliser d’en-têtes précompilés.

    En guise d’alternative, dans Explorateur de solutions, cliquez avec le bouton droit sur Stdafx.cpp, puis cliquez sur Propriétés. Sous Propriétés de configuration, développez le nœud en regard de C/C++ et sélectionnez Général. Définissez Compile avec la prise en charge de Common Language Runtime sur Aucune prise en charge du Common Language Runtime.

  3. Pour le fichier qui contient DllMain et tout ce qu’il appelle, dans Explorateur de solutions, cliquez avec le bouton droit sur le fichier, puis cliquez sur Propriétés. Sous Propriétés de configuration, développez le nœud en regard de C/C++ et sélectionnez Général. Dans le volet droit, sous Paramètres par défaut du projet, définissez Compile avec la prise en charge du Common Language Runtime sur Aucune prise en charge du Common Language Runtime.

Pour compiler un exécutable ATL à l’aide de /clr

  1. Dans l'Explorateur de solutions, faites un clic droit sur le projet, puis cliquez sur Propriétés.

  2. Dans la boîte de dialogue Propriétés du projet, développez le nœud en regard des propriétés de configuration, puis sélectionnez Général. Dans le volet droit, sous Paramètres par défaut du projet, définissez la prise en charge du Common Language Runtime sur Common Language Runtime (/clr).

  3. Sous Propriétés de configuration, développez le nœud en regard de C/C++ et sélectionnez Général. Assurez-vous que le format d’informations de débogage est défini sur Program Database /Zi (et non /ZI).

  4. Sélectionnez le nœud Génération de code. Définissez Activer la reconstruction minimale sur Non (/Gm-). Définissez également Les vérifications du runtime de base sur Par défaut.

  5. Sous Propriétés de configuration, sélectionnez C/C++ , puis Génération de code. Assurez-vous que la bibliothèque runtime est définie sur DLL de débogage multithread (/MDd) ou SUR DLL multithread (/MD).

  6. Pour chaque fichier généré par MIDL (fichiers C), cliquez avec le bouton droit sur le fichier dans Explorateur de solutions, puis cliquez sur Propriétés. Sous Propriétés de configuration, développez le nœud en regard de C/C++ et sélectionnez Général. Définissez Compile avec la prise en charge de Common Language Runtime sur Aucune prise en charge du Common Language Runtime.

Pour compiler une DLL ATL à l’aide de /clr

  1. Suivez les étapes de la section « Pour compiler un exécutable ATL à l’aide de /clr ».

  2. Sous Propriétés de configuration, développez le nœud en regard de C/C++ et sélectionnez En-têtes précompilés. Définissez l’en-tête précompilé créer/utiliser l’en-tête précompilé pour ne pas utiliser d’en-têtes précompilés.

    En guise d’alternative, dans Explorateur de solutions, cliquez avec le bouton droit sur Stdafx.cpp, puis cliquez sur Propriétés. Sous Propriétés de configuration, développez le nœud en regard de C/C++ et sélectionnez Général. Définissez Compile avec la prise en charge de Common Language Runtime sur Aucune prise en charge du Common Language Runtime.

  3. Pour le fichier qui contient DllMain et tout ce qu’il appelle, dans Explorateur de solutions, cliquez avec le bouton droit sur le fichier, puis cliquez sur Propriétés. Sous Propriétés de configuration, développez le nœud en regard de C/C++ et sélectionnez Général. Dans le volet droit, sous Paramètres par défaut du projet, définissez Compile avec la prise en charge du Common Language Runtime sur Aucune prise en charge du Common Language Runtime.

Voir aussi

Assemblys mixtes (natif et managé)