Я хочу запустить эту программу hello world, для которой нужен C++23.
import std;
int main()
{
std::cout << "Hello, World!\n";
}
Я на Mac и ввожу это в терминал:
g++-13 -std=c++2b hello_world.cpp -o hello
тоже пробовал с -std=c++23
Однако выдает ошибку:
«Импорт» C++20 доступен только с помощью «-fmodules-ts», которого еще нет. включен с помощью '-std=c++20'
Почему он все еще на C++20?
@Homer512 Homer512 Нет, я спрашиваю о том, как перейти на C++23.
Вам нужно использовать указанный в нем переключатель для использования модулей. Дело не в том, что он пытается использовать C++20, а в том, что модули не полностью поддерживаются. Ваш переключатель для C++23 правильный, поэтому он будет использовать C++23.
Вы можете увидеть статус здесь: https://gcc.gnu.org/projects/cxx-status.html#cxx20, где указано «(требуется -fmodules-ts)»
Однако обратите внимание, что g++ пока не поддерживает модули стандартной библиотеки. Посмотреть статус можно здесь: https://en.cppreference.com/w/cpp/compiler_support#cpp23
Отвечает ли это на ваш вопрос? Как использовать модули C++20 с GCC?