Windows의 Vscode에서 Windows Sublinuxsystem의 gcc 사용

Windows의 Vscode에서 Windows Sublinuxsystem의 gcc 사용

Windows Fall Creators Update 이후로 Ubuntu와 같은 Linux 하위 시스템을 설치할 수 있습니다.윈도우 스토어Windows 머신에서.

Windows의 Linux 하위 시스템에서 gcc 컴파일러를 사용하여 Linux용 Windows에서 vscode로 c 애플리케이션을 빌드할 수 있습니까?

답변1

비주얼 스튜디오 코드tasks.json파일을 사용하여 프로젝트를 컴파일(및 기타 작업 수행)하는 방법을 설명하는 크로스 플랫폼 IDE입니다 . Windows 또는 WSL Ubuntu 하위 시스템에서 VSCode를 실행할 수 있습니다. WSL에서 실행하려면 Ubuntu/Linux 바이너리를 사용해야 합니다.


WSL에 대한 참고 사항

Windows 명령줄에서,다음을 사용하여 Linux 명령을 실행할 수 있습니다.bash

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

gcc예를 들어 다음을 사용하여 Linux를 실행할 수 있습니다.

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

설치한 경우WSL의 여러 Linux 시스템, 예를 들어 opensuse 및 ubuntu의 경우 Windows 명령줄에서 어떤 Linux 하위 시스템을 사용할지 결정하려면 대신 opensuse-42 run또는를 사용해야 합니다.ubuntu runbash

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

또한 Windows 파일 시스템은 /mnt/<drive letter>/. 예를 들어 폴더가 있는 경우 C:\ProjectsLinux에서 다음 위치에 액세스할 수 있습니다./mnt/C/Projects


WSL Linux에서 GCC를 사용하도록 Windows에서 VSCode 구성

을 체크 해봐웹사이트의 지침. Mac이나 Linux에서 GCC나 CLang 컴파일러를 사용하려면 bash작업에 따라 다른 인수를 사용하면 됩니다.

자신만의 task.json. bash사용할 명령으로 를 정의해야 합니다 . Mac/Linux에서 사용하는 것과 거의 동일한 구성이 작동해야 한다고 생각합니다. "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
            }
        ]
    }
}

다른 것도 있습니다요점다른 예로 사용할 수 있습니다.

메모:MS 튜토리얼을 찾았습니다.WSL 및 Visual Studio를 사용하여 Linux GCC 프로그램 컴파일 및 디버깅하지만 Visual Studio Code는 아닙니다.

관련 정보