Seite 1 von 1

Profilen mit gprof

Verfasst: 23. Januar 2008 21:22
von M@g!ndo$ch
Hi,

ich möchte gerne meine Applikation "profilen" und hab dazu den gprof auserkoren, da der schon bei mingw dabei ist. Hier habe ich eine kurze Beschreibung dazu gefunden http://tldp.org/linuxfocus/Deutsch/Arch ... 3-0371.pdf

Ich habe also meinem .pro-File folgendes hinzugefügt:

QMAKE_CXXFLAGS_DEBUG += -pg
QMAKE_CXXFLAGS_RELEASE += -pg

Wenn ich nun mein Projekt kompiliere werden folgende Fehler gemeldet:

./.o\release\CommManager.o(.text+0xf):CommManager.cpp: undefined reference to `mcount'
./.o\release\CommManager.o(.text+0x27f):CommManager.cpp: undefined reference to `mcount'
./.o\release\CommManager.o(.text+0x4ed):CommManager.cpp: undefined reference to `mcount'
./.o\release\CommManager.o(.text+0x539):CommManager.cpp: undefined reference to `mcount'
./.o\release\CommManager.o(.text+0x55f):CommManager.cpp: undefined reference to `mcount'
./.o\release\CommManager.o(.text+0x692):CommManager.cpp: more undefined references to `mcount' follow

Kann sich das jemand erklären?

Ich verwende qt-win-opensource-src-4.3.0-win32 und habe Qt statisch kompiliert.

Verfasst: 23. Januar 2008 22:37
von Christian81
Schonmal unter Linux probiert? Ich denke nicht dass es unter MinGW funktioniert.

Verfasst: 24. Januar 2008 09:18
von M@g!ndo$ch
Hmmmmm, das wäre aber schlecht wenn ich deshalb extra Linux verwenden müsste ;-)

Kennst du ne' Alternative, die auch unter Windows verwendbar ist?

Verfasst: 24. Januar 2008 09:25
von Christian81
Nein, leider nicht.
Aber ich habe auch nichts gefunden dass es nicht gehen sollte.
http://www.freebasic.net/wiki/wikka.php ... gProfiling
--> libgmon.a noch hinzulinken wenn vorhanden.

Verfasst: 24. Januar 2008 16:38
von M@g!ndo$ch
Danke. Ich werds mal probieren....

Verfasst: 24. Januar 2008 22:55
von M@g!ndo$ch
Ok,

nachdem ich mein .pro-File um folgendes erweitert habe treten keine Fehler mehr beim kompilieren auf:

LIBS += libgmon.a

Aber irgendwie wird kein zusätzlicher Output generiert :-(

Eigentlich müsste doch in dem Verzeichnis aus dem das Programm gestartet wird irgen eine Datei erzeugt werden, oder?