小编Exh*_*xho的帖子

尽管有规则,Makefile 未始终如一地应用 -g

我无法在 gdb 中调试我的应用程序,因为符号表没有加载,我正在通过我的程序向后工作以确定导致这种情况发生的原因。提到的第一个建议是在编译时包含 -g 标志,我将其设置在我的 makefile 的 CFLAGS 部分中,但它似乎没有应用于我的文件。

如果不编写使用我的文件名进行硬编码的 makefile 以确保其正常工作,我将如何修改现有的 makefile 以确保将 -g 标志应用于所有已编译的文件?

$ make

g++    -c -o main.o main.cpp
g++    -c -o scanner.o scanner.cpp
g++ -g -Wall -Wno-unused-variable -o scanner main.o scanner.o
Run Code Online (Sandbox Code Playgroud)

我找到了这个 makefile 并插入了我的信息

CFLAGS = -g -Wall -Wno-unused-variable

OBJFILES = main.o scanner.o 
TARGET = scanner

all: $(TARGET)

%.o: %.c
    $(CC) $(CFLAGS) $< -c
    

$(TARGET): $(OBJFILES)
    $(CC) $(CFLAGS) -o $(TARGET) $(OBJFILES)
    

.PHONY: clean
    
clean:
    rm -f $(OBJFILES) $(TARGET) *~
Run Code Online (Sandbox Code Playgroud)

c++ gdb makefile g++

0
推荐指数
1
解决办法
35
查看次数

标签 统计

c++ ×1

g++ ×1

gdb ×1

makefile ×1