J'ai un ce MakefileDrapeau débogage avec GCC (compilation de phase/phase de liaison)
application=<somebinaryname>
CXXFLAGS=-g -std=c++14 -Wall -Werror -pedantic
LDFLAGS=-g
auto: $(application)
$(application): main.o aaa.o aab.o aba.o baa.o
$(CXX) $(LDFLAGS) -o [email protected] $^
%.o: %.cpp
$(CXX) $(CXXFLAGS) -c $< -o [email protected]
# rest of Makefile not relevant to my question
Quelqu'un peut-il s'il vous plaît me dire si l'option -g est censé aller pendant la phase de compilation (avec CXXFLAGS) ou pendant la phase de liaison (avec LDFLAGS)? Je cherchais des exemples et des documents partout, mais ils ont tous des exemples très triviales comme (même): la page de manuel
gcc -g -o binary source.cpp
je reçois, mais il ne me dit pas grand-chose.
Plus de clarté à ce sujet?
Je présente mes excuses. Ma question n'était probablement pas suffisamment claire. Vos liens reprennent les informations déjà présentes dans environ 5000 documents différents. Je sais que -g produit un binaire de débogage non optimisé avec tous les noms de symboles intacts. Je sais ce qu'est le débogage, ce qu'est un fichier de débogage, pourquoi il est utilisé, comment il est utilisé et utilisé depuis de nombreuses années. Ce que je ne suis pas certain cependant, c'est si '-g' ou '-ggdb' devrait aller pendant la phase de compilation (comme avec '-c') ou pendant la phase de liaison? Donc, encore une fois, dans mon exemple Makefile spécifique, devrait-il aller avec CXXFLAGS ou LDFLAGS ou les deux comme je l'ai? –