g++ - 기본적으로 -std=c++14를 사용하는 방법은 무엇입니까?

g++ - 기본적으로 -std=c++14를 사용하는 방법은 무엇입니까?

g++에서 매번 입력하는 대신 기본적으로 -std=c++14를 사용했으면 좋겠습니다. 어떻게 해야 합니까?

답변1

놓다:

alias g++='g++ -std=c++14'

프로필(또는 .bashrc)에 있습니다. 다음에 로그인할 때(또는 새 터미널을 시작할 때 .bashrc) 이 명령이 g++실행됩니다 g++ -std=c++14.

단일 터미널 인스턴스의 경우에만 명령줄에 이를 입력하세요. 대부분의 경우 이 방법이 작동하지만 문제가 있는 경우 다음을 시도해 보세요.


g++바이너리(예: )에 대한 리터럴 경로를 참조하는 /usr/bin/g++스크립트나 프로그램이 있는 경우 g++바이너리를 새 파일 이름으로 이동하고 다음 g++-bin과 같은 이름의 동일한 디렉터리에 스크립트를 작성할 수 있습니다.g++

#! /bin/sh
/usr/bin/g++-bin -std=c++14 "$@"

이는 별칭과 동일한 최종 결과를 가지지만( $@상위 스크립트의 모든 인수를 g++바이너리로 전달) 스크립트를 참조할 때 컴파일러에 대한 전체 경로를 사용하게 됩니다.

chmod 755이 방법을 사용하는 경우 스크립트를 실행 가능하거나 유사하게 만드십시오.

/usr/bin또한 스크립트 를 (또는 배포판에 상응하는 것) 에 넣으면 g++가 업데이트될 때 패키지 관리자가 g++ 스크립트를 덮어쓰게 되므로 스크립트를 더 높은 우선순위를 가진 다른 디렉터리의 변수에 넣을 수 있습니다 PATH.

저는 개인적으로 이런 종류의 작업을 위해 홈 디렉터리( ) ~/bin에 디렉터리를 만들고 ~/.profile변수 시작 부분에 및 줄을 추가합니다.~/.bashrc$HOME/binPATH

PATH="$HOME""/bin:""$PATH"
export PATH

답변2

~에 따르면GCC 페이지에서 C++ 표준 지원, C++14는 GCC 6.1 이상의 기본 버전입니다.

이 모드는 GCC 6.1 이상에서 기본값입니다. -std=c++14명령줄 플래그를 사용하여 명시적으로 선택하거나 -std=gnu++14GNU 확장을 활성화할 수 있습니다.

현재 릴리스에서는 아무 것도 수행할 필요가 없습니다. (GCC 6.1은 2016년 4월 말에 출시되었습니다.)

관련 정보