Depuis la mise à jour de Windows Fall Creators, nous pouvons installer un sous-système Linux tel que Ubuntu à partir de windows store sur une machine Windows.
Est-il possible d'utiliser le compilateur gcc du sous-système Linux sous Windows pour créer des applications c avec vscode sous Windows pour Linux?
Code Visual Studio est un IDE multiplate-forme qui utilise un fichier tasks.json
pour décrire comment compiler (et effectuer d'autres tâches) votre projet. Vous pouvez exécuter le VSCode sous Windows ou dans le sous-système WSL Ubuntu. Si vous voulez l'exécuter dans le WSL, vous devez utiliser les fichiers binaires Ubuntu/Linux.
Notes sur WSL
Dans la ligne de commande Windows, vous pouvez exécuter les commandes linux avec bash
name __
C:\> bash.exe -c <linux command>
Par exemple, vous pouvez exécuter Linux gcc
en utilisant
C:\> bash -c "gcc -v"
Si vous avez installé plusieurs systèmes linux sur WSL , par exemple. un opensuse et un Ubuntu, vous devez utiliser opensuse-42 run
ou ubuntu run
au lieu de bash
pour déterminer quel sous-système linux utiliser sur la ligne de commande windows.
C:\> ipconfig | opensuse-42 run grep IP | ubuntu run lolcat
De plus, notez qu'il est possible d'accéder au système de fichiers Windows à l'aide de /mnt/<drive letter>/
. Par exemple, si vous avez un dossier C:\Projects
, vous pouvez y accéder à partir de Linux à /mnt/C/Projects
Configuration d'un VSCode sous Windows pour utiliser le GCC dans le WSL Linux
Vérifiez le instructions sur le site . Pour utiliser les compilateurs GCC ou CLang sous Mac ou Linux, vous pouvez utiliser bash
avec des arguments différents en fonction de la tâche.
Vous pouvez configurer (ou créer) votre propre task.json
. Vous devez définir bash
en tant que commande à utiliser. Je pense que presque la même configuration que vous utilisez pour Mac/Linux doit fonctionner. J'ai changé l'option "cwd".
{
// 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
}
]
}
}
Il existe quelques autres Gists que vous pouvez utiliser comme autres exemples.
REMARQUE: J'ai trouvé des didacticiels MS sur compilation et débogage de programmes Linux GCC à l'aide de WSL et de Visual Studio mais pas du code Visual Studio. .