Partilhar via


Aviso do compilador (nível 1) C5050

Possível ambiente incompatível ao importar o módulo 'module_name': issue

Comentários

O compilador gera o erro C5050 sempre que as opções de linha de comando dos módulos não são consistentes entre os lados da criação do módulo e do consumo do módulo.

Este aviso é novo no Visual Studio 2017 versão 15.9. Ele só é gerado ao criar ou consumir módulos, especificados pela opção do compilador /experimental:module.

Exemplo

No exemplo a seguir, há dois problemas:

  • No lado do consumo (main.cpp), a opção /EHsc não está especificada.

  • A versão do C++ é /std:c++17 no lado da criação e /std:c++14 no lado do consumo.

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

O compilador gera o C5050 para ambos os casos:

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

Para resolver o problema, use as mesmas opções de linha de comando do compilador para o módulo e o código de consumo.