編譯器警告 (層級 1) C5050
匯入模組 ' module_name ' 時可能不相容的環境: 問題
備註
每當模組的命令列選項在模組建立和模組耗用量端之間不一致時,編譯器就會引發 C5050。
此警告是 Visual Studio 2017 15.9 版的新功能。 它只會在建立或取用編譯器選項所 /experimental:module
指定的模組時產生。
範例
下列範例中有兩個問題:
在取用端 (main.cpp), 未指定 選項
/EHsc
。C++ 版本位於
/std:c++17
建立端,以及/std:c++14
取用端。
cl /EHsc /std:c++17 m.ixx /experimental:module
cl /experimental:module /module:reference m.ifc main.cpp /std:c++14
編譯器會針對這兩種情況引發 C5050:
warning C5050: Possible incompatible environment while
importing module 'm': mismatched C++ versions.
Current "201402" module version "201703".
若要解決此問題,請使用模組和取用程式碼的相同編譯器命令列選項。