Verwenden Sie gcc vom Windows-Sublinuxsystem in Vscode unter Windows

Verwenden Sie gcc vom Windows-Sublinuxsystem in Vscode unter Windows

Seit dem Windows Fall Creators Update können wir ein Linux-Subsystem wie Ubuntu von derWindows Storeauf einem Windows-Computer.

Ist es möglich, den GCC-Compiler des Linux-Subsystems unter Windows zu verwenden, um C-Anwendungen mit Vscode unter Windows für Linux zu erstellen?

Antwort1

Visual Studio Codeist eine plattformübergreifende IDE, die eine tasks.jsonDatei verwendet, um zu beschreiben, wie Ihr Projekt kompiliert wird (und andere Aufgaben ausführt). Sie können VSCode unter Windows oder im WSL-Ubuntu-Subsystem ausführen. Wenn Sie es in WSL ausführen möchten, müssen Sie die Ubuntu/Linux-Binärdateien verwenden.


Hinweise zur WSL

Geben Sie in der Windows-Eingabeaufforderung Folgendes ein:Sie können Linux-Befehle ausführen mitbash

C:\> bash.exe -c <linux command>

Beispielsweise können Sie Linux ausführen gccmit

C:\> bash -c "gcc -v"

Wenn Sie installiert habenmehrere Linux-Systeme auf WSL, z. B. ein OpenSUSE und ein Ubuntu. Sie müssen opensuse-42 runoder ubuntu runanstelle von verwenden bash, um zu bestimmen, welches Linux-Subsystem in der Windows-Befehlszeile verwendet wird.

C:\> ipconfig | opensuse-42 run grep IP | ubuntu run lolcat

Beachten Sie außerdem, dass auf das Windows-Dateisystem über zugegriffen werden kann /mnt/<drive letter>/. Wenn Sie beispielsweise einen C:\ProjectsOrdner haben, können Sie von Linux aus unter folgendem Pfad darauf zugreifen:/mnt/C/Projects


Konfigurieren eines VSCode in Windows zur Verwendung des GCC im WSL Linux

Überprüf denAnweisungen auf der Website. Um GCC- oder CLang-Compiler unter Mac oder Linux zu verwenden, können Sie bashje nach Aufgabe unterschiedliche Argumente verwenden.

Sie können Ihr eigenes konfigurieren (oder erstellen) task.json. Sie müssen als zu verwendenden Befehl das definieren bash. Ich denke, dass fast dieselbe Konfiguration, die Sie für Mac/Linux verwenden, funktionieren muss. Ich habe die Option „cwd“ geändert.

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "wsl": {
        "command": "bash",
        "args": ["-c"],
        "isShellCommand": true,
        "showOutput": "always",
        "suppressTaskName": true,
        "options": {
            "cwd": "/mnt/C/${workspaceRoot}"
         },
        "tasks": [
             {
                "taskName": "hello",
                "args": [
                    "make hello"
                ],
                "isBuildCommand": true
             },
             {
                "taskName": "clean",
                "args": [
                    "make clean"
                ]
             },
             {
                "taskName": "compile w/o makefile",
                "args": [
                    "g++ helloworld.C -o hello"
                ],
                "echoCommand": true
            }
        ]
    }
}

Es gibt noch andereWesentlicheSie können es als weiteres Beispiel verwenden.

NOTIZ:Ich habe einige MS-Tutorials gefunden aufKompilieren und Debuggen von Linux GCC-Programmen mit WSL und Visual Studioaber nicht Visual Studio Code.

verwandte Informationen