gcc에서 C ++ 11을 어떻게 활성화합니까?
Mac OSX Mountain Lion 에서 http://hpc.sourceforge.net의 gcc 4.8.1을 사용 합니다. 에서 to_string
함수 를 사용하는 C ++ 프로그램을 사용할 수 <string>
있습니다. -std=c++11
매번 플래그 를 사용합니다 .
g++ -std=c++11 -o testcode1 code1.cpp
기본적 으로이 플래그를 포함하는 방법이 있습니까?
H2CO3이 맞습니다. CXXFLAGS가 -std = c ++ 11로 하나의 메이크 파일을 사용할 수 있습니다. 메이크 파일은 간단한 파일 방법에 대한 지침이있는 간단한 텍스트입니다. Makefile (대문자 M)이라는 새 파일을 만듭니다. 코드를 자동으로 선택하여 터미널에 make 명령을 입력 합니다. 설치해야 할 수도 있습니다.
다음은 간단한 것입니다.
CXX=clang++
CXXFLAGS=-g -std=c++11 -Wall -pedantic
BIN=prog
SRC=$(wildcard *.cpp)
OBJ=$(SRC:%.cpp=%.o)
all: $(OBJ)
$(CXX) -o $(BIN) $^
%.o: %.c
$(CXX) $@ -c $<
clean:
rm -f *.o
rm $(BIN)
모든 .cpp 파일이 makefile과 디렉토리에 디렉토리에서 가정합니다. 그러나 src를 지원하고 디렉토리를 포함하고 빌드하도록 makefile을 만들 수 있습니다.
편집 : 기본 C ++ 컴파일러를 수정했는데 g ++ 버전이 최신이 아닙니다. clang ++에서는 메이크 파일이 잘 작동합니다.
앞서 언급했듯이-프로젝트의 경우 Makefile
또는 다른 경우에는 다른 플래그도 지정해야하는 프로젝트 구성 문제입니다.
그러나 일반적으로 작성하는 일회성 프로그램은 g++ file.cpp && ./a.out
어떻습니까?
글쎄, 난 몇 가지를하는 것이 훨씬 더 #pragma
어쩌면 소스 레벨, 또는 기본 확장에 설정하는-말 .cxx
이나 .C11
또는 무엇이든 기본적으로 트리거를. 그러나 현재의 기능이 없습니다.
그러나 아마도 수동 환경 (예 : 쉘)에서 작업하고 메시지를받을 수 있습니다 .bashrc
.
alias g++11="g++ -std=c++0x"
또는 최신 G ++의 경우 (그리고 "진짜 C ++ 11"을 느끼고 싶을 때)
alias g++11="g++ -std=c++11"
당신이 g++
C ++ 03 그렇게 싫어한다면을 당신 은 그 자체로 별칭을 가질 수도 있습니다 .)
파일을 사용하여 할 수있는 사양을 생각합니다.
MinGW에서
gcc -dumpspecs> specs를 사용할 수 있습니다.
그것이 말하는 곳
*cpp:
%{posix:-D_POSIX_SOURCE} %{mthreads:-D_MT}
당신은 그것을
*cpp:
%{posix:-D_POSIX_SOURCE} %{mthreads:-D_MT} -std=c++11
그런 다음
/ mingw / lib / gcc / mingw32 / <버전> / specs에 배치합니다.
MinGW 빌드 없이도 똑같이 할 수 있는지 확신합니다. 그래도 사양 파일을 어디에 둘지 확실하지 않습니다.
폴더는 아마도 / gcc / lib / 또는 / gcc /입니다.
참고 URL : https://stackoverflow.com/questions/16886591/how-do-i-enable-c11-in-gcc
'IT' 카테고리의 다른 글
git pull이 오류 파일 이름으로 중단되었습니다. (0) | 2020.08.09 |
---|---|
Apache에서 RewriteCond에 "AND", "OR"을 사용하는 방법은 무엇입니까? (0) | 2020.08.08 |
C #의 거짓 연산자는 무엇에 좋은가요? (0) | 2020.08.08 |
Java의 부울 기본 크기가 정의되지 않은 이유는 무엇입니까? (0) | 2020.08.08 |
가장 간단하지만 완전한 CMake 예제 (0) | 2020.08.08 |