У меня есть проект CMake, используемый в QtCreator с включенным C ++ 17.
Я могу без проблем компилировать и использовать функции C ++ 17. При печати значения __cplusplus
я получаю 201703
, но при наведении курсора на макрос в редакторе QtCreator отображается значение 1
.
Из-за этого я не получаю никакого дополнения или выделения кода для каких-либо функций C ++ 11 (и более поздних версий). Это раздражает.
Стандартные заголовки, такие как <memory>
, имеют несколько проверок, таких как:
#if __cplusplus >= 201103L
// unique_ptr and shared_ptr
Редактор отключает весь код под условием из-за неправильного значения __cplusplus
.
Окружающая среда:
- Fedora 29
- CMake 3.12
- GCC 8.3.1
- QtCreator 4.7.2 (Qt 5.11.3)
Это известная проблема с проектами QtCreator и CMake? Есть ли обходные пути, чтобы заставить редактор QtCreator анализировать код с правильным значением __cplusplus
, предоставленным CMake / GCC?