MinGW не видит стандартный заголовок numbers

Решил начать разбираться в С++20. Скачал компилятор MinGW версии 10.2.1 и хочу использовать константы из заголовочного файла <numbers>, однако, при компиляции мне выдается ошибка "No such file or directory" с указанием на строчку с данным заголовком. Простейший пример кода, генерирующий ошибку, ниже.

#include <iostream>
#include <numbers>

using namespace std::numbers;

int main()
{
    std::cout << "The pi is " << pi << std::endl;
    return 0;
}

Cmake файл проекта

cmake_minimum_required(VERSION 3.5)

project(Test_project LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_executable(Test_project main.cpp)

IDE - QTCreator 4.12.3. Автодополнение функций из данного файла работает, сам файл присутствует в директории компилятора. В чем причина такого поведения и как исправить подобную ошибку?


Ответы (1 шт):

Автор решения: Great Plant

Разгадка была проста: в сиcтеме несколько версий MinGW и используется неверная. Наивно полагал, что создание нового комплекта с новой версией компилятора решит мои проблемы, однако в настройках сборки, обнаружил, что в качестве компилятора был указан MinGW версии 8.1. После исправления CMAKE_CXX_COMPILER всё заработало.

Пример исправленных настроек

→ Ссылка