Benutzer-Werkzeuge

Webseiten-Werkzeuge


anwendungen_und_sonstiges:c_mingw64_in_visual_studio_code

C++ MingW64 in Visual Studio Code

Installation

  1. Visual Studio Code installieren
  2. In VS Code die Extension "C/C++ extension for VS Code" nachinstallieren
  3. Die GCC-Compilersuite installieren per MSYS2
    1. Den Online-Installier wie in Schritt 1 verlinkt herunterladen und starten
    2. Installationspfad c:\msys64
    3. Nach der Installation "Run MSYS2 now"
    4. pacman -Syu
    5. es werden Updates installiert, anschließend muss das Fenster geschlossen werden. Danach ein neues MSYS-Fenster aufmachen
    6. pacman -Su
    7. pacman -S –needed base-devel mingw-w64-x86_64-toolchain
    8. Anschließed den Pfad C:\msys64\mingw64\bin in die Systemumgebungsvariablen einspeichern.
    9. Installation überprüfen mit neuem Konsolenfenster und g++ –version und gdb –version

tasks.json (build instructions)

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
            }
        }
    ]
}

  • command: Der auszuführende Compiler
  • args: Die Argumente, die als json-Array einzeln übergeben werden
  • label: Name des Build-Vorgangs
  • isDefault: Falls es mehrere Build-Anweisungen gibt, kann man darüber einen Default-Weg definieren.

launch.json (debug)

Ü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)

VS Code auf G++ optimieren

  • Ctrl + Shift + P
  • C/C++: Edit Configurations (UI)
  • Compilerpfad bis zur EXE angeben
  • ggf. feste Compileroptionen angeben
  • Intellisence-Modus auf windows-gcc-x64
  • Libraries-Pfade fest übergeben

Quelle: https://code.visualstudio.com/docs/cpp/config-mingw

anwendungen_und_sonstiges/c_mingw64_in_visual_studio_code.txt · Zuletzt geändert: 2022/05/02 13:18 von ronny

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki