• 전체강좌

    C1189 에러 해결 방법 : Visual Studio 2019 C++20 관련 에러

    twitter facebook

    안녕하세요? 착한이입니다.

    Visual Studio 2019로 Windows Driver 또는 Application을 개발하다보면

    C1189 에러가 발생하는 경우가 있습니다.

    본 강좌에서는 C1189 에러 해결 방법에 대해 알아 보겠습니다.

    Visual Studio 2017의 경우도 같은 방법을 적용하시면 됩니다.


    Visual Studio 2019를 이용하여 C++ Project를 개발하다보면 다음과 같이 C1189 에러가 발생하는 경우가 있습니다.


    fatal error C1189: #error: The <experimental/coroutine> and <experimental/resumable> headers are only supported with /await and implement pre-C++20 coroutine support. Use <coroutine> for standard C++20 coroutines.



    에러를 보면 소스 코드가 아닌 C++ 관련 header 파일에서 발생하는 것을 알 수 있습니다.

    Project 속성에서 C++ Standard Language 를 C++ 17로 변경해도 되지만

    C++ 20을 사용해야 하는 경우라면 /await 옵션을 추가해서 에러를 해결할 수 있습니다.

    Project의 속성에서 다음 그림과 같이 "C/C+의 Command Line"으로 이동합니다.

    Additional Options에 /await 를 추가합니다.

    Project를 다시 빌드하면 에러가 해결된 것을 확인할 수 있습니다.


    위와 같이 C++ Project 진행 시에 C++ 20 관련 에러가 나면 Project 설정 문제일 수 있으니

    에러 내용과 Docs 사이트를 참고하여 해결하시면 됩니다.

    여기까지 C1189 에러에 대한 해결 방법에 대해 알아 보았습니다.

    즐거운 개발하시길 바랍니다.

    --------------------------------------------------------

    유튜브 채널 방문과 구독 신청 부탁 드립니다.

    http://www.youtube.com/c/WeAreDev