Vscode Intellisense думает, что мы находимся в C ++ 11 против всей конфигурации (о чем свидетельствует `__cplusplus` macC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Vscode Intellisense думает, что мы находимся в C ++ 11 против всей конфигурации (о чем свидетельствует `__cplusplus` mac

Сообщение Anonymous »

Small C ++ Project с использованием Cmake, установив в C ++ 20, компилируется FINE, используя .
  • ОС -хост: Windows 10, удаленная ОС: Ubuntu 20.04
  • Vscode. 1.12.27
  • Компилятор: Clang 15 в соответствии с Apt.llvm.org/llvm.sh
Но vscode Intellisense настаивает на том, что std :: string_view не определено:
alt alt at alt at alt it altined:
alt artice artice arte intrined. src = "https://i.sstatic.net/tbms6.png"/>
Если i f12 on #include я перейду в/usr/include/c ++/9/string_view , где я вижу, что это думает, что встроенный макрос. to c ++ 11:

/>

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

[10/3/2022, 9:57:47 PM] For C++ source files, the cppStandard was changed from "c++23" to "c++20" based on compiler args and querying compilerPath: "/usr/bin/clang"


(я установил конфигурацию Intellisense vscode «Стандарт C ++» в «C ++ 23», в то время как мой проект Cmake все еще говорил «C ++ 20».) PrettyPrint-Override ">

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

{
"configurations": [
{
"name": "Linux",
"intelliSenseMode": "linux-clang-x64",
"includePath": [],
"defines": [],
"compilerPath": "/usr/bin/clang",
"cStandard": "c17",
"cppStandard": "c++20",
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}
Почему встроенный __cplusplus macro неправильно для того, что делает Intellisense? /> < /p>
Я установил расширение clangd < /code>-Сервер языка Кланг-и отключил встроенный интеллект ( предупредил о конфликте, который можно ожидать). Это тоже не работает, но теперь __cplusplus установлен на C ++ 14-NO Другое изменение в любые настройки. Как изменить версию C ++, используемую VS -кодом? который должен установить язык в настройках расширения C/C ++. Как продемонстрировано файлом c_cpp_properties.json , включенные-они являются свойствами "Cstandard" и "cppstandard". И вопрос также показывает, что эти свойства не используются в этом случае , потому что я использую настройку, в которой IntelliSense спрашивает систему сборки-инструменты CMAKE в этом случае-для правильных настройки: это показано фактическим сообщением, данным инструментами Cmake.

Подробнее здесь: https://stackoverflow.com/questions/739 ... s-evidence
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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