>  기사  >  백엔드 개발  >  MinGW 4.6.1로 컴파일할 때 \'stoi\'가 \'std\'의 구성원이 아닌 이유는 무엇입니까?

MinGW 4.6.1로 컴파일할 때 \'stoi\'가 \'std\'의 구성원이 아닌 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-29 05:55:02382검색

Why is

MinGW 4.6.1의 std::stoi 문제

"오류: 'stoi'는 'std'의 구성원이 아닙니다. " MinGW 4.6.1로 컴파일하는 동안 Windows에서 vswprintf의 비표준 선언에서 비롯됩니다.

설명:

GNU 표준 라이브러리는 이에 대해 _GLIBCXX_HAVE_BROKEN_VSWPRINTF 매크로를 정의합니다. 플랫폼. 이 매크로는 std::stoi를 포함한 특정 변환 기능을 비활성화합니다.

해결 방법:

이 문제를 해결하려면 MinGW와 함께 배포된 헤더 파일을 수정하는 것이 좋습니다.

  1. .../lib/gcc/mingw32/4.6.1/include/c /bits/basic_string.h의 2754행에서 !definated(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) 매크로를 제거하세요.
  2. Re -std::vswprintf를 참조하는 2905~2965행 주위에 매크로를 추가합니다.

결과:

이 해결 방법은 std::to_wstring 기능을 비활성화하지만 다음을 허용합니다. 다른 변환 기능도 사용할 수 있습니다.

위 내용은 MinGW 4.6.1로 컴파일할 때 \'stoi\'가 \'std\'의 구성원이 아닌 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.