Compartir a través de


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.