自 Windows Fall Creators Update 以来,我们可以从窗户商店在 Windows 机器上。
是否可以使用 Windows 上的 Linux 子系统中的 gcc 编译器在 Windows 上使用 vscode 为 Linux 构建 c 应用程序?
答案1
Visual Studio 代码是一个跨平台 IDE,它使用tasks.json
文件来描述如何编译(和执行其他任务)您的项目。您可以在 Windows 或 WSL Ubuntu 子系统中运行 VSCode。如果您想在 WSL 中运行它,则必须使用 Ubuntu/Linux 二进制文件。
关于 WSL 的说明
在 Windows 命令行中,你可以使用以下方式运行 Linux 命令bash
C:\> bash.exe -c <linux command>
例如,你可以gcc
使用
C:\> bash -c "gcc -v"
如果您已安装WSL 上的多个 Linux 系统,例如 opensuse 和 ubuntu,您必须使用opensuse-42 run
或ubuntu run
而不是来bash
确定在 windows 命令行中使用哪个 linux 子系统。
C:\> ipconfig | opensuse-42 run grep IP | ubuntu run lolcat
此外,请注意,可以使用 访问 Windows 文件系统/mnt/<drive letter>/
。例如,如果您有一个C:\Projects
文件夹,则可以从 Linux 访问它/mnt/C/Projects
在 Windows 中配置 VSCode 以在 WSL Linux 中使用 GCC
检查网站上的说明。要在 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。