development

cc1plus : 오류 : g ++에서 인식 할 수없는 명령 줄 옵션“-std = c ++ 11”

big-blog 2020. 9. 25. 08:04
반응형

cc1plus : 오류 : g ++에서 인식 할 수없는 명령 줄 옵션“-std = c ++ 11”


g++-std=c++11또는 c++0x플래그를 사용하여 컴파일하려고합니다 .

그러나이 오류가 발생합니다.

cc1plus: error: unrecognized command line option "-std=c++11"

g ++-버전

g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

G ++ 버전을 보면 심하게 업데이트해야합니다. C ++ 11은 G ++ 4.3 이후에만 사용할 수 있습니다. 최신 버전은 4.7입니다.

G ++ 4.7 이전 버전에서는을 사용해야 -std=c++0x하며 최신 버전의 경우 -std=c++11.


gcc 웹 사이트 에서 인용 :

C ++ 11 기능은 GCC의 Subversion 저장소 트렁크 및 GCC 4.3 이상에서 "주요"GCC 컴파일러의 일부로 사용할 수 있습니다. C ++ 0x 지원을 활성화하려면 명령 줄 매개 변수 -std = c ++ 0x를 g ++ 명령 줄에 추가합니다. 또는 C ++ 0x 확장 외에 GNU 확장을 활성화하려면 g ++ 명령 줄에 -std = gnu ++ 0x를 추가합니다. GCC 4.7 이상은 -std = c ++ 11 및 -std = gnu ++ 11도 지원합니다.

따라서 아마도 .NET을 지원하지 않는 g ++ 버전을 사용하고있을 것입니다 -std=c++11. -std=c++0x대신 시도하십시오 .

C ++ 11 기능의 가용성은 버전 4.3 이상에서만 가능합니다.


당신은 이것을 시도해야합니다

g++-4.4 -std=c++0x or g++-4.7 -std=c++0x

나는 또한 동일한 오류가 발생하여 -D 플래그로 컴파일하여 수정했습니다.

g ++ -Dstd = c ++ 11

참고 URL : https://stackoverflow.com/questions/14674597/cc1plus-error-unrecognized-command-line-option-std-c11-with-g

반응형