Ich versuche mein Programm mit Debugging-Symbolen für den Einsatz in gdb zu kompilieren. Ich habe die Markierung -g zu meinem Makefile hinzugefügt, aber ich bekomme immer noch "Lesen von Symbolen aus ... (keine Debugging-Symbole gefunden)", wenn ich das Programm in gdb lade. Was ist falsch??Keine Debugging-Symbole in gdb, selbst wenn mit -g kompiliert wird
ist hier ein Beispiel meines Make-Datei abgespeckte, die die entsprechenden Bits haben sollte:
CPP = g++
CFLAGS = -c -g -Wall
$(BIN): $(OBJ)
$(CPP) $(LDFLAGS) $(OBJ) -o $(BIN) $(LIBS)
<test.o>: <test.cpp>
$(CPP) $(CFLAGS) <test.cpp> -o <test.o>
Wenn Sie das Ganze sehen möchten Sie hier stattdessen gehen kann, obwohl ich nicht denken tun ist es notwendig:
Verschiedene Hinweise .. ich bin mit MinGW unter Windows kompilieren und ich habe SFML und OpenGL als Abhängigkeiten.
Und nein, die Flagge -s ist nirgends in meinem Makefile zu finden.
Können Sie mit 'make -n' bestätigen, dass Sie tatsächlich das' -g' Flag in Ihrer Kompilierzeile bekommen? – chrisaycock
F: \ rowdump \ ROM \ ROMV> make -n g ++ -Wall src/obj/core.o src/obj/image.o src/obj/gnd.o src/obj/gat.o src/obj/welt.o src/obj/rsw.o src/obj/camera.o src/obj/rsm.o src/obj/main.o -o romv -Wl, - enable-auto-import, -subsystem, windows -lsfml-main -lsfml-graphics -lsfml-window -lsfml-system -lopengl32 -lglu32 Es ist nicht da ! Seltsam. Und meine -ansi und -pendantische Flaggen sind auch weg. Edit: Sorry für die Wand des Textes. Hab nicht gemerkt, dass es so enden würde. – delaccount992
Die Ausgabe, die Kobie eingefügt hat, ist für das Standardziel, das zum Verknüpfen dient, und dort ist kein Flag -g vorhanden. Ich habe gerade auf Ubuntu bestätigt, dass dieses Flag während der Verbindung nicht zur Kompilierzeit benötigt wird. Ich denke, Sie sollten "make -n test.o" ausprobieren, um zu sehen, welcher Befehl zum Kompilieren verwendet wird. – binW