(SOLUCIONADO) Ayuda referente a archivos .sublime-build

Iniciado por erest0r, 3 Agosto 2014, 02:11 AM

0 Miembros y 1 Visitante están viendo este tema.

erest0r

Hola, estoy probando el editor de texto Sublime Text 2 para hacer codigo de C++, aunque muchos diran que puedo usar cualquier IDE para facilitarme todo el proceso, es solo que quiero probar otras opciones =)... Ok, la cuestion es esta, me estuve guiando sobre como hacer el archivo .sublime-build, pero no se muy bien como pasarle parametros de manera optima, es decir, esto es lo que tengo:

Código (javascript) [Seleccionar]

{
"cmd": ["g++ -Wall ${file_name} EmpleadoPorComision.cpp -o ${file_base_name} && ${file_base_name}.exe"],
  "working_dir": "${file_path}",
  "shell": true
}


Fijense como la cadena "EmpleadoPorComision.cpp" esta de manera que no parece optima en comparacion con ${file_name}, no se si exista algun parametro que se le pueda pasar para que reconozca todos los archivos .cpp de una carpeta especifica.

Otra duda, ¿Es factible tener un .sublime-build por cada proyecto que haga? de ser asi, ¿Puedo guardarlo en la misma carpeta del proyecto, o debo guardarlas siempre en la carpeta por defecto donde ella almacena todos los archivos .sublime-build?

A pesar que tengo mas dudas sobre el funcionamiento del editor, esperare que puedan ayudarme con estas que tengo por los momentos =).

Gracias.
Cruzar la calle junto a mucha gente cuando el semáforo sigue en rojo da seguridad y espíritu de equipo... o cruzamos todos o morimos juntos.

erest0r

Al dejar el .sublime-build de esta manera:

Código (javascript) [Seleccionar]

{
  "cmd": ["g++ -o ${file_base_name} ${file_name}"],
  "working_dir": "${file_path}",
  "shell": true
}


Me genera este error cuando hago Build:

C:\Users\Alver\AppData\Local\Temp\ccyljzfZ.o: In function `main':
C:/Users/Alver/Desktop/Proyectos_de_empleado_por_comision/12.4.1/main.cpp:11: undefined reference to `EmpleadoPorComision::EmpleadoPorComision(std::string const&, std::string const&, std::string const&, double, double)'
C:/Users/Alver/Desktop/Proyectos_de_empleado_por_comision/12.4.1/main.cpp:22: undefined reference to `EmpleadoPorComision::getTarifaComision() const'
C:/Users/Alver/Desktop/Proyectos_de_empleado_por_comision/12.4.1/main.cpp:21: undefined reference to `EmpleadoPorComision::getNumeroSeguroSocial() const'
C:/Users/Alver/Desktop/Proyectos_de_empleado_por_comision/12.4.1/main.cpp:19: undefined reference to `EmpleadoPorComision::getApellidoPaterno() const'
C:/Users/Alver/Desktop/Proyectos_de_empleado_por_comision/12.4.1/main.cpp:18: undefined reference to `EmpleadoPorComision::getPrimerNombre() const'
C:/Users/Alver/Desktop/Proyectos_de_empleado_por_comision/12.4.1/main.cpp:24: undefined reference to `EmpleadoPorComision::setVentasBrutas(double)'
C:/Users/Alver/Desktop/Proyectos_de_empleado_por_comision/12.4.1/main.cpp:25: undefined reference to `EmpleadoPorComision::setTarifaComision(double)'
C:/Users/Alver/Desktop/Proyectos_de_empleado_por_comision/12.4.1/main.cpp:28: undefined reference to `EmpleadoPorComision::imprimir() const'
C:/Users/Alver/Desktop/Proyectos_de_empleado_por_comision/12.4.1/main.cpp:31: undefined reference to `EmpleadoPorComision::ingresos() const'
collect2.exe: error: ld returned 1 exit status
[Finished in 0.7s with exit code 1]

Cruzar la calle junto a mucha gente cuando el semáforo sigue en rojo da seguridad y espíritu de equipo... o cruzamos todos o morimos juntos.

erest0r

Bueno, logre acomodarlo (por los momentos) simplemente cambie el nombre de una de las variables y quedo asi:

Código (javascript) [Seleccionar]
{
  "cmd": ["g++ -o ${file_base_name} *.cpp"],
  "working_dir": "${file_path}",
  "shell": true
}


Si alguien considera que de esa forma no es la mas recomendable y puede ofrecerme uno mejor se lo agradeceria =), aunque por lo menos con eso me sirve.
Cruzar la calle junto a mucha gente cuando el semáforo sigue en rojo da seguridad y espíritu de equipo... o cruzamos todos o morimos juntos.

Eleкtro

#3
Se que no quieres oirlo, ¿pero te das cuenta que, aparte de estar utilizando una versión antigua del programa (2.x), estás intentando reemplazar la funcionalidad del compiler por usar un editor de texto para desarrollar aplicaciones, y que además estás dejando de lado todo el desarrollo de depuración?, ya que el editor no tiene un debugger, ni breakpoints, etc.

Si eres experto en dicho lenguaje y no necesitas depurar entonces adelante, usa sublime-text (o cualquier otro editor de texto) sabiendo lo que haces, pero de lo contario debes saber que usar un editor de texto no es una buena opción, las IDE's existen por un buen motivo.

Aquí está toda la documentación necesaria para la próxima vez:
· Build Systems - Options
· Build Systems - Variable Substitution

PD: Yo manejo Sublime-Text a diario desde hace muchos años, tanto como para la edición normal de texto como para el Scripting, pero jamás se me ocurriría programar en serio un proyecto "grande" con este o cualquier otro editor de texto ya sea de un lenguaje interpretado o compilado, ya que me estaría privando de todas las herramientas necesarias para desarrollar de forma eficiente que suelen proporcionarnos una IDE.

Saludos.








erest0r

En realidad los errores son sobre una practica que hago, y gracias por el consejo de todas maneras  =)
Cruzar la calle junto a mucha gente cuando el semáforo sigue en rojo da seguridad y espíritu de equipo... o cruzamos todos o morimos juntos.