Compilar y ejecutar C++ desde Sublime Text
Como todo el proceso de creación de un nuevo Build System ya lo expliqué en la anterior entrada Compilar y ejecutar JAVA desde Sublime Text, solo colocaré el código JSON que deberá contener este nuevo Build System que se encargará de compilar y ejecutar nuestro programa en C++.
//Codigo para Windows { "cmd": ["g++ -Wall ${file_name} -o ${file_base_name} && ${file_base_name}.exe"], "working_dir": "${file_path}", "shell": true }
//Codigo para Linux { "cmd": ["g++ -Wall ${file_name} -o ${file_base_name} && ./${file_base_name}"], "working_dir": "${file_path}", "shell": true }Si tienes dudas sobre qué hacer con el código anterior, haz click sobre el enlace anterior donde está todo explicado paso por paso.
Muchas gracias por tu respuesta, he podido compilar y correr algunos programas sencillos de C y C++ cambiando el g++ por gcc, sin embargo en programas que requieren interacción con el usuario, pedir enteros o cadenas, no funca, se va de largo y lee un cero o vació, en notepad++ encontré como a la hora de correr un programa, abrir la pantalla negra como de símbolo de sistema donde se ejecuta el programa, podrías ayudarme para lograr algo similar?, de antemano gracias, sos grande...
ResponderEliminarPues la verdad es que he buscado mucho, pero no he conseguido hacer que la consolita de Sublime Text pueda recoger datos, y tampoco he podido hacer que aparezca la ventana de Símbolos de sistema desde Sublime text...
EliminarBuscaré más a fondo, y en cuanto tenga algo, o me de por vencido te aviso. xD
Pues ya está todo solucionado, después de mucho buscar y probar cosas nuevas, puedo decir que SI, se puede ejecutar una ventanita de Símbolos del sistema o cmd.exe donde se compilará y ejecutará correctamente nuestro programa con Sublime Text tal y como lo hace Notepad++. He hecho una entrada nueva donde está todo explicado paso por paso, mañana al mediodía la subiré.
EliminarSaludos.
Podrías subir el nuevo o mandar el enlace, gracias!
ResponderEliminarSi te refieres a la entrada donde explico como ejecutar tus programas en el CMD.exe desde Sublime Text aquí te pongo el enlace.
EliminarUn saludo!
Ejecutar en cmd.exe desde Sublime Text
Listo! Me funciona perfecto en Ubuntu.
ResponderEliminarMuchas gracias! :)
Y en Windows también.
Eliminarpodrias decirnos como lo haces funcionar en linux
EliminarMe sale:
ResponderEliminar[Error 5] Acceso denegado
No se que estoy haciendo mal, en otra Pc me funcionaba bien, y en este no :(
Disculpen mi ignorancia pero no se que se pone en file_name en file_name_base y en working_dir, creen que me puedan dar un ejemplo
ResponderEliminarEse es el ejemplo, es decir solo copia y pega ese código y listo, son cosas que sublime text ya entiende.
EliminarSaludos.
en MAC corre y con optimizaciones de compilación dejo el codigo
ResponderEliminar"shell_cmd": "gfortran -Wall ${file_name} -Ofast -march=corei7 -o ${file_base_name}.out",
"working_dir": "${file_path}",
"shell": true
}
corrijo es gfortran 4.8.2 en mac, con las optimizaciones
Eliminar-Ofast -march=corei7
Muchas gracias por tu aportación, estoy seguro que ayudarás a más usuarios de MAC.
EliminarSaludos.
Como le hago para que pueda ingresar datos el usuario en C++ correiendo en Mac ?
EliminarPara que me abra una terminal por ejemplo y ahi se ejecute!
LO MISMO PARA JAVA EN MAC POR FAVOR
Espero tu respuesta, saludos y gracias.
Pues no tengo una maquina con Mac asi que no puedo probarlo, pero creo que seria igual que en linux, aqui te pongo la entrada donde explico como ejecutar un programa en el terminal desde sublime, por supuesto ya en el terminal si podras introducir datos.
Eliminarhttp://ayudasprogramacionweb.blogspot.com.es/2013/01/ejecutar-en-terminal-linux-sublime-text.html
Incluso esta explicado como se haria todo para java y para c++, por ultimo decir que en los ejemplos utilizo el jdk de java y g++ para c++, si tu cuentas con otros compiladores, podras hacerlos correr haciendo una pequeña modificacion en el script.
Saludos.
Hola disculpa a mi me parece un erro que dice: "g++" no se reconoce como un comando interno o externo,
ResponderEliminarprograma o archivo por lotes ejecutable.
[Finished in 0.1s with exit code 1] AYUDAME qe pasa?????
Si estás en Windows asegúrate de instalar el compilador g++ en tu ordenador te aconsejo descargarlo desde aquí http://www.mingw.org/, y añadir la carpeta que contiene el compilador a las variables de entorno del sistema, sabrás que todo lo has hecho correctamente cuando en el cmd introduzcas g++ y salga un mensaje de error del compilador y no el típico "No se reconoce el comando".
EliminarEn Linux instala el compilador mediante el paquete g++ con apt-get o tu gestor de paquetes que quieras y pruebalo introduciendo en tu Terminal g++ y deberá aparecer lo mismo que en Windows, es decir, un mensaje de error del compilador y no el típico "No se reconoce el comando".
Saludos
explicate mejor con resptecto a lo que es añadir a la carpeta; por que no se a que te refieres
ResponderEliminarCuando utilizas en el cmd un comando como por ejemplo "java", estamos invocando a un programa que ha de estar en algún lugar de nuestro ordenador. Cuando tu en el cmd utilizas "java" y pulsas intro, el programa cmd busca en una serie de carpetas si existe ese tal programa "java", si lo encuentra en sus carpetas, lo ejecuta.
EliminarCuando tu instalas java, este se instala en su propia carpeta dentro de "archivos de programa" o "program files" de modo que tienes que decirle al cmd donde está este nuevo programa, para que cuando utilices java, cmd sepa donde está y lo ejecute.
A esto nos referimos cuando decimos añadir una ruta a las variables de entorno, que no son mas que una serie de rutas a carpetas. De modo que si añades a las variables de entorno, la ruta a java, la próxima vez que cmd encuentre el comando java, al buscarlo en las rutas de las variables de entorno lo encontrará y ejecutará.
Como añadir rutas a las variables de entorno, está explicado en la siguiente entrada:
http://ayudasprogramacionweb.blogspot.com.es/2012/11/compilar-y-ejecutar-java-en-cmd-windows.html
Saludos.
Hola, tengo la duda de que deberia hacer si no he instalado un compilador como MinGW, pero he descargado el codeblocks que trae incluido mingw.
ResponderEliminarya que crear el .sublime-build con este codigo no me funciono.
Buenas, me sale un error que dice:
ResponderEliminarg++: Cubo: No such file or directory
g++: de: No such file or directory
g++: n.c: No such file or directory
g++: de: No such file or directory
g++: n: No such file or directory
g++: no input files
¿Que podría hacer?
he instalado el g++ pero aun no lo reconoce
ResponderEliminarpor qué me pone esto?
ResponderEliminar""g++ -Wall -o && .exe"" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.
[Finished in 0.0s with exit code 1]
[cmd: ['g++ -Wall -o && .exe']]
[dir: C:\Users\Usuario\AppData\Roaming\Sublime Text 3\Packages\User]
[path: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files (x86)\Autodesk\Backburner\;C:\Program Files (x86)\Skype\Phone\;C:\Program Files (x86)\GtkSharp\2.12\bin;C:\Users\Usuario\AppData\Local\Programs\Python\Python35-32\Scripts\;C:\Users\Usuario\AppData\Local\Programs\Python\Python35-32\]
Me da este error:
ResponderEliminarg++: error: missing filename after ‘-o’
g++: fatal error: no input files
¿Alguien puede ayudar?, gracias de antemano. Saludos.
Amigo por que me aparece esto
ResponderEliminar""g++ -Wall -o && .exe"" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.
[Finished in 0.1s with exit code 1]
[cmd: ['g++ -Wall -o && .exe']]
[dir: C:\Program Files\Sublime Text 3]
[path: C:\PROGRA~2\Borland\CBUILD~1\Bin;C:\PROGRA~2\Borland\CBUILD~1\Projects\Bpl;C:\Program Files (x86)\Intel\TXE Components\TCS\;C:\Program Files\Intel\TXE Components\TCS\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared]
tienes que instalar MinGW
EliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarPueden intentar con este codigo para que se les ejecute en una cm,d:
ResponderEliminar{
"cmd": "gcc ${file_name} -o ${file_base_name}.exe && start ${file_base_name}.exe",
"working_dir": "${file_path}",
"shell": true
}
PARA LINUX!
ResponderEliminarCrean uno nuevo Build System y pegan este codigo:
{
"cmd": ["xterm-256color -e 'zsh -c \"gcc $file_name -o ${file_base_name} && ./${file_base_name} ;echo;echo Presiona ENTER para salir...; read line\"'"],
"selector" : "source.c",
"shell": true
}
echo $SHELL = para saber que shell usas (zsh)
echo $TERM = para saber que terminal usas (xterm-256color)
Espero ayudado
PARA LINUX!
ResponderEliminarCrean uno nuevo Build System y pegan este codigo:
{
"cmd": ["xterm-256color -e 'zsh -c \"gcc $file_name -o ${file_base_name} && ./${file_base_name} ;echo;echo Presiona ENTER para salir...; read line\"'"],
"selector" : "source.c",
"shell": true
}
echo $SHELL = para saber que shell usas (zsh)
echo $TERM = para saber que terminal usas (xterm-256color)
Espero ayudado
Alguien de aqui sigue vivo????????????
ResponderEliminar