GDB keine debug-Symbole gefunden
Ich versuche zu kompilieren Sie ein Programm, bestehend aus zwei Quellcode-Dateien:
wildcardtrie.h, wildcardtrie.cpp
ein Makefile verwenden. Allerdings, wenn ich GDB zu Debuggen, bekomme ich die folgende Fehlermeldung:
Reading symbols from /home/meric/Documents/Random/SectionLeading/wildcardtrie...(no debugging symbols found)...done.
Habe ich versucht eine Reihe von verschiedenen compiler-flags, von denen keiner funktionierte. Die Sache, die stutzig macht mich, dass ich verwendet haben, eine nahezu identische Makefile, die in anderen Programmen und Symbole fehlen ist nie ein problem gewesen. Ich habe das Makefile unter:
CC=g++
CFLAGS = -g -ggdb g++ -O0 -Wall -Wfloat-equal -Wtype-limits -Wpointer-arith -Wlogical- op -fno-diagnostics-show-option
LDFLAGS = -g -ggdb -std=c++0x
programs = wildcardtrie
all : $(programs)
clean:
rm -f $(programs) core *.o
.PHONY: clean all
Ich habe versucht, das entfernen von '-g' und '-ggdb' in den compiler-und linker-flags, aber nichts scheint zu funktionieren. Wenn ich rufe 'make', bekomme ich die folgende Ausgabe auf dem terminal:
g++ -c -o wildcardtrie.o wildcardtrie.cpp
g++ -g -ggdb -std=c++0x wildcardtrie.o -o wildcardtrie
Jede Hilfe wäre sehr geschätzt werden!
make
verwendet die CXX
und CXXFLAGS
Variablen.Auch, dass beide
-g
und -ggdb
redundant ist.Sie müssen ändern Sie den linker an
g++
: LD = g++
.Beim ausführen
make
in einer Konsole, man bekommt eine Menge Leistung. Bitte, dass die Ausgabe in die Frage nach der Ausführung make clean
.Ich denke, Sie wirklich brauchen, um Lesen Sie mehr über
make
. Die clean
im make clean
ruft die clean
target im makefile.InformationsquelleAutor MEric | 2013-11-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies zeigt deutlich, dass
-g
ist nicht auf Ihrem kompilieren Zeile (das ist genau die Ursache für dein problem).Bekommen
-g
es, entweder fügen Sie es zuCXXFLAGS
(dies ist die bevorzugte Lösung), oder einfach nur schreiben das kompilieren Regel explizit (anstatt sich auf built-in-Regel):InformationsquelleAutor Employed Russian