C:\msys64\mingw64\bin
in die Systemumgebungsvariablen einspeichern.g++ –version
und gdb –version
Die tasks.json definiert den Compilevorgang. Dort werden alle Compilerparameter übergeben1). Beispielhaft:
{ "version": "2.0.0", "tasks": [ { "type": "shell", "label": "SDL2", "command": "g++.exe", "args": [ "-g", "*.cpp", "-o", "build\\game.exe", "-IC:/Workspace/C++/libs/SDL2-2.0.22/x86_64-w64-mingw32/include", "-LC:/Workspace/C++/libs/SDL2-2.0.22/x86_64-w64-mingw32/lib", "-lmingw32", "-lSDL2main", "-lSDL2", "-mwindows" ], "options": { "cwd": "${workspaceFolder}" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true } } ] }
Über die launch.json wird definiert, wie aus dem Quellcode der Programmstart realisiert werden soll. So lässt sich zum Beispiel der Debugger konfigurieren.
Beispiel:
{ "version": "0.2.0", "configurations": [ { "name": "(gdb)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}\\build\\game.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "c:\\msys64\\mingw64\\bin\\gdb.exe", "setupCommands": [ { "description": "Enable pretty printing", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "SDL2" } ] }
Problem "miDebuggerPath" - Wenn der Compiler damit abbricht, dass er den Debugger (dbg.exe) nicht finden kann, den kompletten Quellpfad nochmal per Tastatur eingeben. Anscheinend werden beim Copy-Pasten des Pfades kaputte Zeichen übertragen 2)