我正在使用make和调试符号没有生成。这是我的makefile:
program: ui.o data.o string.o
c99 -ggdb -o program2 ui.o data.o string.o
clean :
rm -f program2
ui.o : ui.c data.h
c99 -ggdb -c ui.c
data.o : data.c data.h
c99 -ggdb -c data.c
string.o : string.c string.h
c99 -ggdb -c string.c
如何生成调试符号?当我使用gdb program2
运行gdb时,它会发出警告"找不到调试符号"。
答案 0 :(得分:1)
Makefile
版本program2
,但假装构建program
(即第一行的目标错误)。clean
目标也应该清除*.o
,否则make clean; make
只会重新链接 program
,但不会重新编译其中的任何对象。上述因素之一可能是您所观察到的缺少调试符号的原因。