Utilice gcc desde Windows Sublinuxsystem en Vscode en Windows

Utilice gcc desde Windows Sublinuxsystem en Vscode en Windows

Desde Windows Fall Creators Update podemos instalar un subsistema Linux como Ubuntu desde eltienda de ventanasen una máquina con Windows.

¿Es posible utilizar el compilador gcc del subsistema Linux en Windows para crear aplicaciones C con vscode en Windows para Linux?

Respuesta1

Código de estudio visuales un IDE multiplataforma que utiliza un tasks.jsonarchivo para describir cómo compilar (y realizar otras tareas) su proyecto. Puede ejecutar VSCode en Windows o en el subsistema WSL Ubuntu. Si desea ejecutarlo en WSL, debe usar los binarios de Ubuntu/Linux.


Notas sobre WSL

En la línea de comando de Windows,puedes ejecutar comandos de Linux usandobash

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

Por ejemplo, puede ejecutar Linux gccusando

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

Si tienes instaladomúltiples sistemas Linux en WSL, por ejemplo, opensuse y ubuntu, debe usar opensuse-42 runo ubuntu runen lugar de bashpara determinar qué subsistema de Linux usar en la línea de comando de Windows.

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

Además, tenga en cuenta que se puede acceder al sistema de archivos de Windows mediante /mnt/<drive letter>/. Por ejemplo, si tiene una C:\Projectscarpeta, puede acceder a ella desde Linux en/mnt/C/Projects


Configurar un VSCode en Windows para usar GCC en WSL Linux

Comprobar elinstrucciones en el sitio web. Para usar compiladores GCC o CLang en Mac o Linux, puede usar bashcon diferentes argumentos según la tarea.

Puedes configurar (o crear) el tuyo propio task.json. Debes definir el bashcomo el comando a utilizar. Creo que debe funcionar casi la misma configuración que usas para Mac/Linux. Cambié la opción "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
            }
        ]
    }
}

Hay algunos otrosesenciasPuedes usarlo como otros ejemplos.

NOTA:He encontrado algunos tutoriales de MS sobrecompilar y depurar programas Linux GCC usando WSL y Visual Studiopero no el código de Visual Studio.

información relacionada