Sto provando a compilare il mio programma con i simboli di debug per l'uso in gdb. Ho aggiunto il flag -g al mio makefile ma ottengo ancora "Reading symbols from ... (no debugging symbols found)" quando carico il programma in gdb. Che c'è??Nessun simbolo di debug in gdb anche durante la compilazione con -g flag
Questo vuole essere un ridotta esempio del mio makefile che dovrebbe avere i bit rilevanti:
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>
Se vuoi vedere l'intera cosa si può andare qui invece, anche se non lo faccio think è necessario:
Note varie .. sono compilazione con MinGW su Windows e non ho SFML e OpenGL come dipendenze.
E no, la bandiera -s non si trova da nessuna parte nel mio makefile.
Puoi confermare con 'make -n' che stai effettivamente ottenendo il flag' -g' sulla tua riga di compilazione? – 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/world.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 Non è lì ! Strano ... E anche le mie bandiere -ansi e -pendant sono sparite. Modifica: scusa per il muro di testo. Non sapevo che sarebbe successo così. – delaccount992
l'output che Kobie ha incollato è per la destinazione predefinita, che è per il collegamento, e non vi è alcun flag -g lì. Ho appena confermato su Ubuntu che quel flag non è necessario durante il collegamento solo al momento della compilazione. Penso che dovresti provare a "make -n test.o" per vedere quale comando viene usato per compilare. – binW