Не совместимость MSVC с ниндзя?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Не совместимость MSVC с ниндзя?

Сообщение Anonymous »

Итак, я работаю над проектом, моя настройка - MSVC для компилятора и VS -кода для кодирования (с расширениями Clangd и Cmake). Проблема в том, что Intellisense, MSVC по умолчанию генерирует файлы SLN и VCXPROJ, которые бесполезны (в отношении IK) для Intellisense в VS -коде. Затем я использовал ninja для генерации compile_command.json, и он работал отлично, пока я не изменил версию C ++ на 23 и использовал его функции, такие как std :: weder и std :: Необязательный , файл compile_command.json не содержит ничего для ожидаемого и опционального, поэтому интеллект не работает, но Code не работает без ошибок, но тогда я не был в Cleg. Clang ++ для CPP и генерируйте compile_command.json, теперь код не компилируется, но я получаю compile_command.json, затем я переодеваюсь в MSVC и использую Clang Compile_command.json. Но проблема здесь заключается в том, что Intellisense выбирает файлы из папки Mingw, а иногда определения разные или неправильные все вместе. Есть ли что -нибудь, что можно сделать? < /p>

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

{
  "directory": "__redacted__/build-x86_64-windows",
  "command": "__redacted__\\toolchain\\VC\\Tools\\MSVC\\14.44.35207\\bin\\Hostx64\\x64\\cl.exe  /nologo /TP -I__redacted__\\lib -I__redacted__\\vendor\\imgui -I__redacted__\\vendor\\imgui\\backends -I__redacted__\\vendor\\cppcoro\\include /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -std:c++latest /std:c++latest /permissive- /Zc:__cplusplus /FoCMakeFiles\\t1.dir\\test\\t1.cpp.obj /FdCMakeFiles\\t1.dir\\ /FS -c __redacted__\\test\\t1.cpp",
  "file": "__redacted__\\test\\t1.cpp",
  "output": "CMakeFiles\\t1.dir\\test\\t1.cpp.obj"
}
{
  "directory": "__redacted__/build-x86_64-windows",
  "command": "__redacted__\\toolchain\\VC\\Tools\\MSVC\\14.44.35207\\bin\\Hostx64\\x64\\cl.exe  /nologo /TP -I__redacted__\\lib -I__redacted__\\vendor\\imgui -I__redacted__\\vendor\\imgui\\backends -I__redacted__\\vendor\\cppcoro\\include /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -std:c++latest /std:c++latest /permissive- /Zc:__cplusplus /FoCMakeFiles\\t1.dir\\test\\t1.cpp.obj /FdCMakeFiles\\t1.dir\\ /FS -c __redacted__\\test\\t1.cpp",
  "file": "__redacted__\\test\\t1.cpp",
  "output": "CMakeFiles\\t1.dir\\test\\t1.cpp.obj"
}
< /code>
Это часть compile_command.json, сгенерированного MSVC < /p>
{
  "directory": "__redacted__/build-x86_64-windows",
  "command": "__redacted__\\clang++.exe -I__redacted__/vendor/imgui -I__redacted__/vendor/imgui/backends -std=gnu++23 -o CMakeFiles\\libimgui.dir\\vendor\\imgui\\imgui_draw.cpp.obj -c __redacted__\\vendor\\imgui\\imgui_draw.cpp",
  "file": "__redacted__\\vendor\\imgui\\imgui_draw.cpp",
  "output": "CMakeFiles\\libimgui.dir\\vendor\\imgui\\imgui_draw.cpp.obj"
}
{
  "directory": "__redacted__/build-x86_64-windows",
  "command": "__redacted__\\clang++.exe -I__redacted__/vendor/imgui -I__redacted__/vendor/imgui/backends -std=gnu++23 -o CMakeFiles\\libimgui.dir\\vendor\\imgui\\imgui_draw.cpp.obj -c __redacted__\\vendor\\imgui\\imgui_draw.cpp",
  "file": "__redacted__\\vendor\\imgui\\imgui_draw.cpp",
  "output": "CMakeFiles\\libimgui.dir\\vendor\\imgui\\imgui_draw.cpp.obj"
}
Это часть compile_command.json, сгенерированного Clang

Подробнее здесь: https://stackoverflow.com/questions/797 ... with-ninja
Ответить

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

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

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

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

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