다음을 통해 공유


컴파일러 경고(수준 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".

이 문제를 해결하려면 모듈과 사용 코드 모두에 대해 동일한 컴파일러 명령줄 옵션을 사용합니다.