Я пытаюсь скомпилировать проект C ++ под разными ОС Linux. Под Fedora 27 все отлично компилируется. Под CentOS 6 это терпит неудачу с
ошибка: "nullptr" не был объявлен в этой области
, который я прочитал, означает, что используется неправильный компилятор. Но мой файл qmake содержит:
CONFIG += C++14
QMAKE_CXXFLAGS += -no-pie
QMAKE_LFLAGS += -no-pie
В Fedora 27 полученный Makefile содержит:
CXXFLAGS = -pipe -Wall -g -W -D_REENTRANT -fPIC $(DEFINES)
В CentOS 6 полученный Makefile содержит:
CXXFLAGS = -pipe -Wall -g -std=gnu++0x -W -D_REENTRANT -fPIC $(DEFINES)
Я пришел к выводу, что проблема в том, что CentOS 6 не поддерживает nullptr (c ++ 14), а gnu ++ 0x настолько свеж, насколько доступен.
Можно ли обойти эту проблему? Включает ли совместимость (для ключевых слов 'nullptr', 'переопределить')?
Я не хочу поддерживать отдельные базы кода для CentOS6 и CentOS7.