Use o gcc do sistema Windows Sublinux no Vscode no Windows [closed]

2

Desde o Windows Fall Creators Update, podemos instalar um subsistema Linux, como o Ubuntu, na loja do Windows em uma máquina com janelas.

É possível usar o compilador gcc do subsistema Linux no Windows para construir aplicativos c com o vscode no windows para linux?

    
por Briefkasten 19.10.2017 / 14:09

1 resposta

2

O Visual Studio Code é um IDE de plataforma cruzada que usa um arquivo tasks.json para descrever como compilar (e executar outras tarefas ) seu projecto. Você pode executar o VSCode no Windows ou no subsistema WSL Ubuntu. Se você quiser executá-lo no WSL, você deve usar os binários do Ubuntu / Linux.

Notas sobre a WSL

Na linha de comando do Windows, você pode executar comandos do linux usando bash

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

Por exemplo, você pode executar o Linux gcc usando

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

Se você tiver instalado vários sistemas linux no WSL , por exemplo um opensuse e um ubuntu, você deve usar opensuse-42 run ou ubuntu run em vez de bash para determinar qual subsistema linux usa na linha de comando do windows.

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

Além disso, observe que o sistema de arquivos do Windows pode ser acessado usando /mnt/<drive letter>/ . Por exemplo, se você tiver uma pasta C:\Projects , poderá acessá-la do Linux em /mnt/C/Projects

Configurando um VSCode no Windows para usar o GCC no WSL Linux

Verifique o instruções no site . Para usar compiladores GCC ou CLang no Mac ou Linux, você pode usar o bash com argumentos diferentes, dependendo da tarefa.

Você pode configurar (ou criar) seu próprio task.json . Você deve definir o bash como o comando a ser usado. Eu acho que quase a mesma configuração que você usa para Mac / Linux deve funcionar. Eu mudei a opção "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
            }
        ]
    }
}

Existem outras Gists que você pode usar como outros exemplos.

OBSERVAÇÃO: encontrei alguns tutoriais do MS em compilando e depurando programas GCC do Linux usando WSL e Visual Studio , mas não o código do Visual Studio.

    
por Jaime 19.10.2017 / 17:22