명령 줄에서 할당이 어떻게 작동하는지 이해하는 데 문제가 있습니다.qmake 명령 줄에서 변수 할당
qmake-qt4 -project -o project.pro
qmake-qt4 -o qMakeFile "CFLAGS += -std=c++11"
make -f qMakeFile
을하고 qMakeFile 만들 후, CFLAGS는 변경되지 않습니다 :
나는 실행할 때.
실종 된 것이 확실합니다.
명령 줄에서 할당이 어떻게 작동하는지 이해하는 데 문제가 있습니다.qmake 명령 줄에서 변수 할당
qmake-qt4 -project -o project.pro
qmake-qt4 -o qMakeFile "CFLAGS += -std=c++11"
make -f qMakeFile
을하고 qMakeFile 만들 후, CFLAGS는 변경되지 않습니다 :
나는 실행할 때.
실종 된 것이 확실합니다.
당신은 여기에 문제의 몇 가지있다 : 당신은 CXXFLAGS 반대로 CFLAGS 변수에 대한 C++ 옵션을 설정하려고
.
이 경우 프로젝트 파일을 만들 때 "CFLAGS+=-std=c++11"
을 첫 번째 qmake로 전달합니다. 왜냐하면 변수가 생성 된 qmake 파일에 저장되기 때문입니다. 현재의 방법으로 Makefile에 저장됩니다.
이것은 당신이 때 어떤 이유로 qmake를 다시 실행 있다는 점에서 유용합니다, 당신은 당신의 메이크에있을 것입니다 있는지 확인하기 위해 CFLAGS
명시 적으로 모든 시간을 통과 할 필요가 없습니다 것입니다.
또한, 당신은 qmake를 프로젝트 파일에 원시 CXXFLAGS
대신 QMAKE_CXX_FLAGS
변수를 사용하는 것이 좋습니다.
심지어 qmake는 CONFIG1
변수를 통해 C++ 11을 더 잘 지원합니다.
또 다른 것은 내가 개인적으로 추가 할당에 불필요한 여분의 공백을 제거한다는 것입니다. 체크 아웃하면 Makefile에 불필요한 여분의 공백이 생겨서 이스케이프 처리해야합니다.
또한 왜 사용자 지정 Makefile 이름을 생성해야하는지 잘 모르겠습니다.
나는 개인적으로 그냥이 같은 것을 작성합니다
qmake -project "QMAKE_CXXFLAGS+=-std=c++11" # only executed once
또는이 더욱 좋습니다 :
qmake -project "CONFIG+=c++11" # only executed once
qmake && make
이를 지원하는 최근의 충분한 컴파일러 버전이 있는지 확인하십시오 옵션 및 C++ 11 일반적으로. 때로는 사람들이 함정에 빠져서 당분간은 지원하지 않는 구버전을 사용한다는 것을 알지 못합니다.