Compilerwarnung (Stufe 1) C5050
Mögliche inkompatible Umgebung beim Importieren des Moduls "module_name": Problem
Hinweise
Der Compiler löst C5050 aus, wenn die Befehlszeilenoptionen für Module nicht zwischen der Modulerstellung und dem Modulverbrauch konsistent sind.
Diese Warnung ist neu in Visual Studio 2017, Version 15.9. Es wird nur generiert, wenn Module erstellt oder verwendet werden, die von der /experimental:module
Compileroption angegeben werden.
Beispiel
Im folgenden Beispiel liegen zwei Probleme vor:
Auf der Verbraucherseite (main.cpp) ist die Option
/EHsc
nicht angegeben.Die C++-Version lautet auf der Erstellerseite
/std:c++17
und auf der Verbraucherseite/std:c++14
.
cl /EHsc /std:c++17 m.ixx /experimental:module
cl /experimental:module /module:reference m.ifc main.cpp /std:c++14
Der Compiler löst in beiden Fällen „C5050“ aus:
warning C5050: Possible incompatible environment while
importing module 'm': mismatched C++ versions.
Current "201402" module version "201703".
Verwenden Sie zum Beheben des Problems die gleichen Compiler-Befehlszeilenoptionen sowohl für das Modul als auch für den verbrauchenden Code.