Невозможно использовать C++23 с CMake+clangd+MSVC+VSCodeC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Невозможно использовать C++23 с CMake+clangd+MSVC+VSCode

Сообщение Anonymous »

Я использую генератор CMake и компилятор MSVC с редактором VSCode при программировании на C++, но что-то меня беспокоит, когда я пытаюсь переключить расширение языковой поддержки на clangd.
Он работает правильно, установите для CXX_STANDARD значение C++20, но когда я попытался выполнить обновление до C++23, CMake генерирует "

Код: Выделить всё

-std:c++latest
" вместо "

Код: Выделить всё

-std:c++23
" для compile_commands.json. В моих исходных файлах оба макроса __cplusplus и _MSVC_LANG равны 201402L, а не 2023xxL. (Но я обычно могу компилировать функции C++23)
Поддерживают ли CMake и clangd c++23? Я обнаружил, что есть -std:c++23 поддержка Clang в официальной документации. Но она либо не работает, когда я вручную заменил "-std:c++latest" на "-std:C++23".
Мои clangd и CMake находятся в новейших версиях.

Мои конфигурации:
введите описание изображения здесь
введите описание изображения здесь

Как это работает в стандарте C++20:
введите описание изображения здесь
введите описание изображения здесь

Как это не работает в стандарте C++23: (clangd говорит, что это C++14!)
введите описание изображения здесь
введите описание изображения здесь
введите описание изображения здесь
Я попытался вручную заменить «-std:c++latest» на «-std:C++23», затем обновил новейшую версию CMake и clangd, но проблема все еще существует.>

Подробнее здесь: https://stackoverflow.com/questions/778 ... msvcvscode
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»