En WSL 2, la solución sugerida no funciona. Aquí hay una solución para ejecutar en un objetivo WSL 2 un script editado en Sublime Text en Windows. Crea un bash-wsl.sublime-build
archivo:
{
"shell_cmd": "bash -c \"wslpath '${file}'\" | bash -s",
"shell": true,
}
En WSL2, la mejor manera posible, según yo, es usar el archivo de compilación sublime a continuación.
- Tienes que crear un nuevo sistema de compilación en Sublime Text con el siguiente código.
(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"
}
-
Este código compilará el código .cpp y usará inp.in y out.in como archivos de entrada y salida respectivamente (
Optional, if you don't want that, then replace ./a.out<inp.in>out.in with ./a.out
). El resultado se mostrará en el panel Resultados de compilación de Sublime. -
Cuando desee utilizar este sistema de compilación, selecciónelo en el
Tools -> Build System
lista, luego presionaCtrl + B
.
-
Tienes que copiar el
C:\Windows\System32\bash.exe
archivo alC:\Windows\SysWOW64\
directorio. Requerido debido a la redirección del sistema de archivos WoW64 (¡Gracias Martin!) -
Luego, debe crear un nuevo sistema de compilación en Sublime Text con el siguiente código. (
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}", }
Este código compilará el código .c y luego lo ejecutará. El resultado se mostrará en el panel Resultados de compilación de Sublime.
-
Cuando desee utilizar este sistema de compilación, selecciónelo en el
Tools -> Build System
lista, luego presionaCtrl + B
.
Puedes personalizar el comando que puse allí, lo principal es que puedes ejecutar comandos de Linux usando bash -c "CommandsYouWantToRun"