Windows Fall Creators Update以降、UbuntuのようなLinuxサブシステムをウィンドウズストアWindows マシン上で。
Windows 上の Linux サブシステムの gcc コンパイラを使用して、Windows 上の vscode で Linux 用の C アプリケーションをビルドすることは可能ですか?
答え1
ビジュアルスタジオコードは、プロジェクトをコンパイルする方法 (およびその他のタスクを実行する方法) を記述するファイルを使用するクロスプラットフォーム IDE ですtasks.json
。VSCode は、Windows または WSL Ubuntu サブシステムで実行できます。WSL で実行する場合は、Ubuntu/Linux バイナリを使用する必要があります。
WSLに関するメモ
Windowsのコマンドラインでは、Linuxコマンドを実行するにはbash
C:\> bash.exe -c <linux command>
例えば、Linuxを実行するgcc
には
C:\> bash -c "gcc -v"
インストールした場合WSL 上の複数の Linux システムたとえば、opensuse と ubuntu の場合、Windows コマンド ラインでどの Linux サブシステムが使用されているかを判断するにはopensuse-42 run
、ubuntu run
の代わりにまたは を使用する必要があります。bash
C:\> ipconfig | opensuse-42 run grep IP | ubuntu run lolcat
さらに、Windowsファイルシステムは を使用してアクセスできることに注意してください/mnt/<drive letter>/
。たとえば、フォルダーがある場合C:\Projects
、Linuxから次のようにアクセスできます。/mnt/C/Projects
WSL Linux で GCC を使用するために Windows で VSCode を構成する
チェックしてくださいウェブサイトの指示bash
Mac または Linux で GCC または CLang コンパイラを使用するには、タスクに応じて異なる引数を使用して を使用できます。
独自の を構成 (または作成) できます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 ではありません。