IT박스

Qt Creator에서 C ++ 11을 활성화하는 방법은 무엇입니까?

itboxs 2020. 6. 3. 21:43
반응형

Qt Creator에서 C ++ 11을 활성화하는 방법은 무엇입니까?


제목은 꽤 자기 묘사 적입니다. Qt Creator 2.7.0을 다운로드했으며 기본 C ++ 11 코드를 컴파일하려고합니다.

int my_array[5] = {1, 2, 3, 4, 5};
for(int &x : my_array)
{
  x *= 2;
}

다음과 같은 오류가 발생합니다.

range based for loops are not allowed in c++ 98 mode

그러나이 기사 에 따르면 Qt Creator 버전은 C ++ 11을 지원합니다. 어떻게 활성화합니까?


이 사이트따르면 추가

CONFIG += c++11

.pro 파일에 추가하십시오 (해당 웹 페이지 하단 참조). Qt 5가 필요합니다.


다른 답변, 제안

QMAKE_CXXFLAGS += -std=c++11(또는 QMAKE_CXXFLAGS += -std=c++0x)

Qt 4.8 및 gcc / clang 에서도 작동 합니다.


이것을 .pro 파일에 추가 하십시오

QMAKE_CXXFLAGS += -std=c++11

또는

CONFIG += c++11

알리의 탁월한 답변으로 해결 된 두 사례를 모두 처리하기위한 대안으로, 나는 보통

# With C++11 support
greaterThan(QT_MAJOR_VERSION, 4){    
CONFIG += c++11
} else {
QMAKE_CXXFLAGS += -std=c++0x
}

내 프로젝트 파일에. 팀에서 사람들이 사용하는 Qt 버전에 대해별로 신경 쓰지 않지만 C ++ 11을 사용하도록 설정하려는 경우 유용합니다.


qmake 파일에 추가

QMAKE_CXXFLAGS+= -std=c++11
QMAKE_LFLAGS +=  -std=c++11

이전 버전의 QT (<5)를 사용하는 경우 다음을 시도하십시오

QMAKE_CXXFLAGS += -std=c++0x

내가 성공적으로 작동시킨 유일한 장소는 다음을 검색하는 것입니다.

... \ Qt \ {5.9; 또는 귀하의 버전} \ mingw {53_32; 또는 버전} \ mkspecs \ win32-g ++ \ qmake.conf :

그런 다음 줄에 :

QMAKE_CFLAGS           += -fno-keep-inline-dllexport

편집하다 :

QMAKE_CFLAGS           += -fno-keep-inline-dllexport -std=c++11

참고 URL : https://stackoverflow.com/questions/16948382/how-to-enable-c11-in-qt-creator

반응형