Compiler Warning (level 1) C5050
Possible incompatible environment while importing module 'module_name': issue
Remarks
The compiler raises C5050 whenever the command-line options for modules aren't consistent between the module creation and module consumption sides.
This warning is new in Visual Studio 2017 version 15.9. It's only generated when creating or consuming modules, specified by the /experimental:module
compiler option.
Example
In the following example, there are two issues:
On the consumption side (main.cpp), the option
/EHsc
isn't specified.The C++ version is
/std:c++17
on the creation side, and/std:c++14
on the consumption side.
cl /EHsc /std:c++17 m.ixx /experimental:module
cl /experimental:module /module:reference m.ifc main.cpp /std:c++14
The compiler raises C5050 for both of these cases:
warning C5050: Possible incompatible environment while
importing module 'm': mismatched C++ versions.
Current "201402" module version "201703".
To resolve the issue, use the same compiler command line options for both the module and the consuming code.