Udostępnij za pośrednictwem


Ostrzeżenie kompilatora (poziom 1) C5050

Możliwe niezgodne środowisko podczas importowania modułu "module_name": problem

Uwagi

Kompilator zgłasza język C5050, gdy opcje wiersza polecenia dla modułów nie są spójne między stronami tworzenia modułu i użycia modułu.

To ostrzeżenie jest nowe w programie Visual Studio 2017 w wersji 15.9. Jest generowany tylko podczas tworzenia lub używania modułów określonych przez opcję kompilatora /experimental:module .

Przykład

W poniższym przykładzie występują dwa problemy:

  • Po stronie zużycia (main.cpp) nie określono opcji /EHsc .

  • Wersja języka C++ znajduje /std:c++17 się po stronie tworzenia i /std:c++14 po stronie zużycia.

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

Kompilator zgłasza język C5050 dla obu tych przypadków:

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

Aby rozwiązać ten problem, użyj tych samych opcji wiersza polecenia kompilatora zarówno dla modułu, jak i kodu zużywanego.