2008-11-19 15 views
5

puede dar a alguien un archivo de configuración que permite scons la siguiente estructurascons: src y directorios incluyen

toplevel/ 
     /src - .cc files 
     /include .h files 

en el nivel superior Quiero que el O y exe final.

Respuesta

4
env=Environment(CPPPATH='/usr/include/glib-2.0/:/usr/lib/glib-2.0/include:include', 
       CPPDEFINES=[], 
       LIBS=['glib-2.0']) 

if ARGUMENTS.get('debug', 0): 
    env.Append(CCFLAGS = ' -g') 

env.Program('template', Glob('src/*.cc')) 

Worked a treat. Gracias.

+0

¿Cómo hacemos que los archivos de objeto (*. O) entren en una carpeta recién creada llamada obj –

4

Esta pregunta: https://stackoverflow.com/questions/279860/... ofrece un esqueleto de scons bastante flexible que debe satisfacer sus necesidades con algunos ajustes a las variables de ruta.

+1

Creo que esta respuesta es demasiado difícil para la mayoría de las personas nuevas en scons. VariantDir? (por ejemplo) y asume conocimiento de Python. – RichieHH

+0

Su suposición es correcta Richard. No tengo idea de qué hace ese archivo de configuración, pero creo que logré sacar algo útil de él. – anon58192932

8

Aquí está un ejemplo de Sconscript archivo

env=Environment(CPPPATH='/usr/include/glib-2.0/:/usr/lib/glib-2.0/include:inc', 
       CPPDEFINES=[], 
       LIBS=['glib-2.0']) 
env.Program('runme', Glob('src/*.c')) 

(La línea de medio ambiente no es realmente necesario para el ejemplo, pero tengo que incluir la ruta no estándar simplista cabecera y dejado allí para que pueda obtener la idea de cómo agregar incluye y define extra)

Los archivos fuente se encuentran en el directorio src y los archivos de encabezado en el directorio inc. Ejecuta scons desde el directorio base y el archivo de salida también se genera en el mismo directorio.

Cuestiones relacionadas