Windows Fall Creators Update以降、Windowsマシンの windows store からUbuntuなどのLinuxサブシステムをインストールできます。
Windows上のLinuxサブシステムからgccコンパイラを使用して、Linux上のWindowsでvscodeを使用してCアプリケーションをビルドすることは可能ですか?
Visual Studio Code は、tasks.json
ファイルを使用してプロジェクトをコンパイル(および他のタスクを実行)する方法を記述するクロスプラットフォームIDEです。 VSCodeは、WindowsまたはWSL Ubuntuサブシステムで実行できます。 WSLに実行する場合は、Ubuntu/Linuxバイナリを使用する必要があります。
WSLに関する注意
Windowsコマンドラインで、 bash
を使用してLinuxコマンドを実行できます
C:\> bash.exe -c <linux command>
たとえば、次を使用してLinux gcc
を実行できます。
C:\> bash -c "gcc -v"
WSL上の複数のLinuxシステム をインストールした場合、例えばopensuseとubuntuでは、bash
の代わりにopensuse-42 run
またはubuntu run
を使用して、Windowsコマンドラインで使用するLinuxサブシステムを決定する必要があります。
C:\> ipconfig | opensuse-42 run grep IP | ubuntu run lolcat
さらに、/mnt/<drive letter>/
を使用してWindowsファイルシステムにアクセスできることに注意してください。たとえば、C:\Projects
フォルダーがある場合、Linuxの/mnt/C/Projects
からアクセスできます。
WSL LinuxでGCCを使用するためのWindowsでのVSCodeの構成
Webサイトの指示 を確認してください。 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
}
]
}
}
他にもいくつかあります Gists 他の例として使用できます。
注:WSLとVisual Studioを使用したLinux GCCプログラムのコンパイルとデバッグ で、Visual Studio CodeではないMSチュートリアルを見つけました。