Nichtkompatibilität von MSVC mit Ninja?C++

Programme in C++. Entwicklerforum
Anonymous
 Nichtkompatibilität von MSVC mit Ninja?

Post by Anonymous »

Ich arbeite an einem Projekt, mein Setup ist MSVC für Compiler und VS -Code für Codierung (mit Clangd- und CMake -Erweiterungen). Das Problem ist Intellisense, MSVC generiert standardmäßig SLN- und VCXProj -Dateien, die für Intellisense in vs Code nutzlos sind (bis hin zu IK). Dann habe ich Ninja verwendet, um Compile_Command.json zu generieren, und es funktionierte perfekt, bis ich die C ++ - Version in 23 änderte und seine Funktionen wie std :: erwartete und std :: optional verwendete. Der Compile_Command.json -Datei enthält nichts, was für den Erwartungsvergleich nicht enthält. Clang ++ für CPP und generieren compile_command.json, jetzt kompiliert der Code nicht, aber ich erhalte die compile_command.json, dann wechsle ich zu MSVC zurück und verwende den Clang Compile_Command.json. Das Problem hier ist jedoch, dass IntelliSense Dateien aus dem Mingw -Ordner aufnimmt und manchmal die Definitionen unterschiedlich oder falsch sind. Gibt es etwas, das getan werden kann? < /p>

Code: Select all

{
  "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>
Dies ist ein Teil von compile_command.json, das von msvc < /p>
generiert wird{
  "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"
}
Dies ist ein Teil von compile_command.json, das von Clang

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post