Saludos,¿Cómo se puede incorporar el soporte de gprof a un programa creado con SCons?
Aquí está mi archivo SConstruct:
env = Environment()
env.Append(CCFLAGS=['-g','-pg'])
env.Program(target='program1', source= ['program1.c'])
También aquí es la salida de la compilación:
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o program1.o -c -g -pg program1.c
gcc -o program1 program1.o
scons: done building targets.
Como se puede ver que pase la opción "-pg" a el entorno de construcción. Después de compilar, ejecuto el programa para generar "gmon.out" pero no se produce.
¿Alguien puede confirmar este problema? o tienes una solución?
Gracias.
Actualización:
Gracias a los consejos que aquí, el archivo SConstruct de trabajo actualizado es el siguiente. El enlazador requiere la bandera, por lo que para pasarla a través de scons, se debe usar la opción "LINKFLAGS".
env = Environment()
env.Append(CCFLAGS=['-g','-pg'], LINKFLAGS=['-pg'])
env.Program(target='program1', source= ['program1.c'])
salida de compilación:
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o program1.o -c -g -pg program1.c
gcc -o program1 -pg program1.o
scons: done building targets.
Nota del "-pg" adicional en la fase de vinculación.
Gracias. El vinculador solo requiere la opción "-pg" como sugirió. SCons ve esta variable como "LINKFLAGS". – kobrien