編譯器警告 (層級 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".

若要解決此問題,請使用模組和取用程式碼的相同編譯器命令列選項。