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?