Di WSL 2 solusi yang disarankan tidak berfungsi. Berikut adalah solusi untuk mengeksekusi pada target WSL 2 skrip yang diedit dalam Sublime Text di Windows. Buat bash-wsl.sublime-build
berkas:
{
"shell_cmd": "bash -c \"wslpath '${file}'\" | bash -s",
"shell": true,
}
Di WSL2, cara terbaik menurut saya adalah menggunakan file sublime-build di bawah ini.
- Anda harus membuat sistem build baru di Sublime Text dengan kode berikut.
(Tools -> Build System -> New Build System...
)
{
"shell_cmd": "ubuntu run \"g++ `wslpath '${file}'` && ./a.out<inp.in>out.in \" ",
"shell":true,
"working_dir":"$file_path",
"selector":"$file_name"
}
-
Kode ini akan menyusun kode .cpp dan menggunakan masing-masing inp.in dan out.in sebagai file input dan output (
Optional, if you don't want that, then replace ./a.out<inp.in>out.in with ./a.out
). Outputnya akan ditampilkan di panel Hasil Build Sublime. -
Saat Anda ingin menggunakan Build System ini, pilih di
Tools -> Build System
list, lalu tekanCtrl + B
.
-
Anda harus menyalin
C:\Windows\System32\bash.exe
file keC:\Windows\SysWOW64\
directory.Diperlukan karena pengalihan sistem file WoW64 (Terima kasih Martin!) -
Kemudian Anda harus membuat sistem build baru di Sublime Text dengan kode berikut. (
Tools -> Build System -> New Build System...
){ "cmd" : ["bash", "-c", "gcc ${file_name} -o ${file_base_name} && ./${file_base_name}"], "shell": true, "working_dir": "${file_path}", }
Kode ini akan mengkompilasi kode .c dan kemudian menjalankannya. Outputnya akan ditampilkan di panel Hasil Build Sublime.
-
Saat Anda ingin menggunakan Build System ini, pilih di
Tools -> Build System
list, lalu tekanCtrl + B
.
Anda dapat menyesuaikan perintah yang saya taruh di sana, yang utama adalah Anda dapat menjalankan perintah Linux menggunakan bash -c "CommandsYouWantToRun"