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