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.json
Datei 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 gcc
mit
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 run
oder ubuntu run
anstelle 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:\Projects
Ordner 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 bash
je 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.