Freigeben über


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.