标签:
linux下写的Makefile,然后编译成文件,gdb调试的时候用list命令报错.搞了半天,在网上找了很多,说是一定要用-g,
然而我是添加的,后来又有人说是需要把-g写调宏定义CFLAGS = -g,但是还是不对.最后经过自己的摸索,才发现,如果
是.c的文件,用CFLAGS是可以的,但是如果是.cpp文件,则必须使用CPPFLAGS = -g才可以
贴上代码如下
CPP = g++ ##这里用gcc或者是g++都没有影响
CPPFLAGS = -g# -D_REENTRANT -DDEBUG -lpthread ##如果这里是cpp文件,一定用CPPFLAGS,如果是.c文件,一定用CFLAGS
OBJS = hello.o judge.o
PROG = hello
.PHONY : all clean
all:$(PROG)
$(PROG):$(OBJS)
$(CPP) $(CPPFLAGS) -o $(PROG) $(OBJS)
#也可以写成下面这样,这样就不用考试是用CFLAGS,或者是CPPFLAGS了,不过这样每次都会编译所有的文件,会消耗内在
#hello:hello.cpp judge.cpp
# gcc $(CFLAGS) -o hello hello.cpp judge.cpp
解决gdb调试报错“No symbol table is loaded. Use the "file" command.”
标签:
原文地址:http://blog.csdn.net/xglhw1987/article/details/45075151