Primeros pasos con SCons: instalación y uso

SCons es una utilidad make de próxima generación que es mucho más fácil de configurar y usar que make. Muchos desarrolladores encuentran que la sintaxis no solo es difícil de introducir sino que es bastante fea. Una vez que lo haya aprendido, está bien, pero tiene una curva de aprendizaje un poco empinada.

Por eso SCons fue ideado; Es una mejor marca y considerablemente más fácil de usar. Incluso trata de descubrir qué compilador es necesario y luego proporciona los parámetros correctos. Si programa en C o C ++ en Linux o Windows, definitivamente debe verificar SCons.

Instalación

Para instalar SCons necesitas tener Pitón ya instalado. Si está utilizando Linux, lo más probable es que ya tenga Python. Si tiene Windows, puede verificar si ya lo tiene; Es posible que algunos paquetes ya lo hayan instalado. Primero, obtenga una línea de comando. Haga clic en el botón de inicio (en XP, haga clic en Ejecutar), luego escriba cmd y desde la línea de comando escriba python -V. Debería decir algo como Python 2.7.2. Cualquier versión 2.4 o superior está bien para SCons.

instagram viewer

Si no tienes Python, entonces necesitas descargar e instalar 2.7.2. Actualmente, SCons no es compatible con Python 3, por lo que 2.7.2 es la última versión (y final) 2 y la mejor para usar. Sin embargo, eso puede cambiar en el futuro, así que verifique el Requisitos de SCons.

Siga las instrucciones para instalar SCons. No es complicado sin embargo, cuando ejecuta el instalador, si está en Vista / Windows 7, asegúrese de ejecutar scons.win32.exe como administrador. Para ello, busque el archivo en el Explorador de Windows y haga clic con el botón derecho y luego en Ejecutar como administrador.

Una vez que esté instalado, suponiendo que tenga Microsoft Visual C ++ (Express está bien), la cadena de herramientas MinGW, Intel Compiler o el compilador PharLap ETS ya instalado, los SCons deberían poder encontrar y usar su compilador.

Usando SCons

Como primer ejemplo, guarde el siguiente código como HelloWorld.c.

int main (int arcg, char * argv [])
{
printf ("¡Hola, mundo! \ n");
}

Luego cree un archivo llamado SConstruct en la misma ubicación y edítelo para que tenga esta línea debajo. Si guarda HelloWorld.c con un nombre de archivo diferente, asegúrese de que el nombre dentro de las comillas coincida.

Programa ('HelloWorld.c')

Ahora escriba scons en la línea de comando (en el mismo lugar que HelloWorld.c y SConstruct) y debería ver esto:

C: \ cplus \ blog> scons
scons: Lectura de archivos SConscript ...
scons: terminado de leer archivos SConscript.
scons: Construyendo objetivos ...
cl /FoHelloWorld.obj / c HelloWorld.c / nologo
HelloWorld.c
link / nologo / OUT: HelloWorld.exe HelloWorld.obj
scons: objetivos de construcción hechos.

Esto creó un HelloWorld.exe que, cuando se ejecuta, produce el resultado esperado:

 C: \ cplus \ blog> HelloWorld
¡Hola Mundo!

Notas

La documentación en línea es muy buena para comenzar. Puede consultar el breve archivo único hombre (manual) o el más amable más detallado Guía del usuario de SCons.

SCons facilita la eliminación de archivos no deseados de la compilación, solo agregue el parámetro -c o -clean.

scons -c

Esto elimina HelloWorld.obj y el archivo HelloWorld.exe.

SCons es multiplataforma, y ​​si bien este artículo trata sobre cómo comenzar a usar Windows, SCons viene preempacado para sistemas Red Hat (RPM) o Debian. Si tiene otro sabor de Linux, entonces la guía SCons le da instrucciones para construir SCons en cualquier sistema. Es de código abierto en su mejor momento.

SCons Los archivos SConstruct son scripts de Python, por lo que si conoce Python, no tendrá problemas. Pero incluso si no lo hace, solo necesita aprender una pequeña cantidad de Python para aprovecharlo al máximo. Sin embargo, hay dos cosas que debes recordar:

  1. Los comentarios comienzan con #
  2. Puede agregar mensajes de impresión con print ("Some Text")

Tenga en cuenta que SCons es solo para no .NET, por lo que no puede construir código .NET a menos que aprenda SCons un poco más y cree un constructor específico.