Avertissement du compilateur (niveau 1) C5050

Environnement incompatible possible lors de l’importation du module « module_name » : problème

Notes

Le compilateur déclenche C5050 chaque fois que les options de ligne de commande des modules ne sont pas cohérentes entre la création du module et les côtés consommation de module.

Cet avertissement est nouveau dans Visual Studio 2017 version 15.9. Elle est générée uniquement lors de la création ou de la consommation de modules, spécifiée par l’option du /experimental:module compilateur.

Exemple

L’exemple suivant présente deux problèmes :

  • Dans la partie consommation (main.cpp), l’option /EHsc n’est pas spécifiée.

  • La version de C++ est /std:c++17 côté création et /std:c++14 côté consommation.

cl /EHsc /std:c++17 m.ixx /experimental:module
cl /experimental:module /module:reference m.ifc main.cpp /std:c++14

Le compilateur lève l’avertissement C5050 pour ces cas :

warning C5050: Possible incompatible environment while
importing module 'm': mismatched C++ versions.
Current "201402" module version "201703".

Pour résoudre le problème, utilisez les mêmes options de ligne de commande du compilateur pour le module et le code consommateur.