내 응용 프로그램은 여전히 Qt5.x가 아닌 Qt4.x로 기본 설정되어있는 시스템에서 사용할 수 있으며 컴파일/링크 할 수있는 버전의 "빠르고 더러운"포트를 사용하려고했습니다. 도서관. 이 무엇이 궁금 해서요 Qt4.x에서 Q_NULLPTR이 없어지는 방법은 없을까요? 내가 SO와 정의를 표시하는 대답 this에서 언급 한 링크를 보았다 :Qt5 응용 프로그램을 Qt4로 백 포트 할 때 Q_NULLPTR로 대체 하시겠습니까?
이 가#ifdef Q_COMPILER_NULLPTR
# define Q_NULLPTR nullptr
#else
# define Q_NULLPTR NULL
#endif
가
그래서 난 그냥 사용해야을 A : 내 qmake
프로젝트 파일
contains(QT_MAJOR_VERSION, 4) {
DEFINES += Q_NULLPTR=NULL
}
?
왜 응용 프로그램에서'nullptr'이 아닌'Q_NULLPTR'을 사용합니까? C++ 11 컴파일러를 사용하는 경우 사용하는 Qt 버전은 중요하지 않습니다. – sharyex
나는 "FOSS 어플리케이션에 기여하고 있습니다."라고 말하면 어떨까요? 몇 년 전에 Qt 5.xa로 바꾼 후에는 Q_NULLPTR을 사용하기 시작했습니다. Qt4로 돌아갈 방법을 찾고있었습니다. .x와 호환되며 가능한 한 적은 변경을하십시오. 그리고 나는 Qt4.x를 사용하는 사람들이 C++ 11 컴파일러를 사용할 것이라고 확신하지 못한다. (예를 들어,'gcc' 4.7이 아닌 4.9) ... – SlySven