Wie kann ich C ++ 0x-Programme in MacPorts gcc 4.5 debuggen?

Ich habe ein einfaches C ++ - Programm, das ich zu debuggen versuche, aber gdb kann die Objektdatei für die Bibliotheken nicht finden (oder es sind keine Debug-Informationen verfügbar), und es scheint auch nicht in der Lage zu sein, die Debug-Symbole für meine ausführbare Datei zu finden.

Ich bin unter OSX 10.5.8 mit Macports und kompiliere meinen Code mit

g ++ - mp-4.5 -Wall -pedantic -std = c ++ 0x -g -ggdb -I / opt / local / include -L / opt / local / lib -lgsl -static-libstdc ++ MCMC-simplex.cpp -o mcmc

(es gibt nur eine Datei und g ++ - mp-4.5 ist die ausführbare Mac-Datei für gcc / g ++ 4.5)

Wenn ich versuche, gdb auf der resultierenden ausführbaren Datei auszuführen, erhalte ich viele Fehlermeldungen (beim Start) der Form

Warnung: Die Objektdatei "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc45/work/build/i386-apple-darwin9/libgcc/trunctfdf2_s.o" konnte nicht gefunden werden. ./../../gcc-4.5.0/libgcc/../gcc/config/soft-fp/trunctfdf2.c"

was für mich bedeutet, dass macports während des Builds einen Fehler aufweist (es scheint, als würde gdb nach den Objektdateien im temporären Build-Verzeichnis suchen).

Ich sollte hinzufügen, dass wenn ich versuche, meine Programme in gdb (der von Apple bereitgestellten) aufzulisten, versucht wird, nach einem zufälligen @ zu suche.s Datei in/var/tmp, was für mich wie eine Assembler-Datei klingt. Deshalb sage ich, dass es auch nicht in der Lage zu sein scheint, die Debug-Symbole für mein Programm zu finden.

Wenn ich MacPorts GDB 7.1 versuche, bekomme ich

Warnung: `/var/folders/Xa/XaqHO9PeEC8K-Nrd0L9xWk+++TM/-Tmp-//cc2IvFto.o ': Kann Symbole nicht lesen: Keine solche Datei oder Verzeichnis. (keine Debugging-Symbole gefunden) ... erledigt.

und keine der vielen Fehlermeldungen, die die GDB von Apple ausgibt (obwohl das Endergebnis dasselbe ist).

Hat jemand auf dieses Problem gestoßen und eine Lösung gefunden?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage