Advertencia del compilador (nivel 1) C5050
Posible entorno no compatible al importar el módulo "module_name": issue
Comentarios
El compilador genera la advertencia C5050 cuando las opciones de la línea de comandos para los módulos no son coherentes entre el lado de creación del módulo y el de consumo del módulo.
Esta advertencia es nueva en Visual Studio 2017, versión 15.9. Solo se genera al crear o consumir módulos, especificado en la opción del compilador /experimental:module
.
Ejemplo
En el ejemplo siguiente, hay dos problemas:
En el consumo (main.cpp), la opción
/EHsc
no se ha especificado.La versión de C++ es
/std:c++17
en la creación y/std:c++14
en el consumo.
cl /EHsc /std:c++17 m.ixx /experimental:module
cl /experimental:module /module:reference m.ifc main.cpp /std:c++14
Para ambos casos, el compilador genera la advertencia C5050:
warning C5050: Possible incompatible environment while
importing module 'm': mismatched C++ versions.
Current "201402" module version "201703".
Para resolver el problema, use las mismas opciones de línea de comandos del compilador para el módulo y el código de consumo.