Avviso del compilatore (livello 1) C5050

Possibile ambiente incompatibile durante l'importazione del modulo 'module_name': problema

Osservazioni:

Il compilatore genera l'errore C5050 ogni volta che le opzioni della riga di comando per i moduli non sono coerenti tra i lati di creazione del modulo e utilizzo del modulo.

Questo avviso è una novità di Visual Studio 2017 versione 15.9. Viene generato solo durante la creazione o l'utilizzo di moduli, specificato dall'opzione del /experimental:module compilatore.

Esempio

Nell'esempio seguente sussistono due problemi:

  • Sul lato consumo (main.cpp), l'opzione /EHsc non è specificata.

  • La versione C++ si trova /std:c++17 sul lato di creazione e /std:c++14 sul lato consumo.

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

Il compilatore genera l'errore C5050 per entrambi i casi seguenti:

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

Per risolvere il problema, usare le stesse opzioni della riga di comando del compilatore sia per il modulo che per il codice di utilizzo.