您的位置:首页 > 其它

解决gdb调试报错“No symbol table is loaded. Use the "file" command.”

2015-04-16 14:48 711 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐