Grüße,Wie baut man gprof-Unterstützung in ein Programm ein, das mit SCons erstellt wurde?
Hier ist meine SConstruct Datei:
env = Environment()
env.Append(CCFLAGS=['-g','-pg'])
env.Program(target='program1', source= ['program1.c'])
Auch hier ist die Ausgabe der Compilation:
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.
Wie man sehen kann ich die "-pg" Option passieren zu die Build-Umgebung. Nachdem ich gebaut habe, starte ich das Programm, um "gmon.out" zu generieren, aber es wird nicht produziert.
Kann jemand dieses Problem bestätigen? oder hast du eine Lösung?
Danke.
Update:
Dank der Beratung, die hier gegeben, die aktualisierte Arbeits SConstruct Datei ist wie folgt. Der Linker benötigt das Flag, also muss die Option "LINKFLAGS" verwendet werden, um es über scons zu übergeben.
env = Environment()
env.Append(CCFLAGS=['-g','-pg'], LINKFLAGS=['-pg'])
env.Program(target='program1', source= ['program1.c'])
Ausgabe der Compilation:
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.
Beachten Sie die zusätzliche "-pg" in der Verbindungsphase.
Vielen Dank. Der Linker benötigt nur die "-pg" -Option wie Sie vorgeschlagen haben. SCons sieht diese Variable als "LINKFLAGS". – kobrien