Предупреждение компилятора (уровень 1) C5050
Возможная несовместимая среда при импорте модуля "module_name": проблема
Замечания
Компилятор вызывает C5050 всякий раз, когда параметры командной строки для модулей не согласованы между созданием модуля и стороной потребления модуля.
Это предупреждение новое в Visual Studio 2017 версии 15.9. Он создается только при создании или использовании модулей, указанных параметром компилятора /experimental:module
.
Пример
В следующем примере показаны две проблемы:
на стороне потребления (файл main.cpp) не указан параметр
/EHsc
;на стороне создания используется версия C++
/std:c++17
, а на стороне потребления —/std:c++14
.
cl /EHsc /std:c++17 m.ixx /experimental:module
cl /experimental:module /module:reference m.ifc main.cpp /std:c++14
В обоих случаях компилятор выдает ошибку C5050:
warning C5050: Possible incompatible environment while
importing module 'm': mismatched C++ versions.
Current "201402" module version "201703".
Чтобы устранить проблему, используйте одни и те же параметры командной строки компилятора для модуля и используемого кода.