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.