del*_*992 12 c++ gcc gdb makefile debug-symbols
我正在尝试使用调试符号编译我的程序,以便在gdb中使用.我已经将-g标志添加到我的makefile中,但是当我在gdb中加载程序时,我仍然得到"从...中读取符号(没有找到调试符号)".怎么了??
这是我的makefile的一个精简的例子,它应该有相关的位:
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>
Run Code Online (Sandbox Code Playgroud)
如果你想看到整个事情,你可以去这里,虽然我不认为这是必要的:
杂项说明..我在Windows上使用MinGW进行编译,我将SFML和OpenGL作为依赖项.
不,在我的makefile中找不到-s标志.
啊.我非常抱歉.事实证明我的makefile中的"clean:"部分已被破坏.因此当我使用make clean时没有任何事情发生.手动删除.o文件修复了问题.旗帜现在完美运作.感谢所有发布的人!现在可以删除.
使用在某些旧的F77代码上继承的Makefile时,我遇到了相同的问题。我尝试了人们推荐的所有标志(-g -ggdb ...等)。运行该解决方案时请保持整洁 。
makefile不知道要重新编译,因为仅更改了标志,因此当我认为是时,实际上并没有使用-g或-ggdb进行编译。希望这对某人有帮助!