1
没有调试符号我有GDB的问题的Archlinux:在ArchLinux的发现-g
即使我添加-g
在我的Makefile GDB说(no debugging symbols found)...done.
。
但是如果我手动编译gcc -g *.c
它的工作...
我不知道什么是我的Makefile中不工作?
我的Archlinux:
Linux sime_arch 4.13.4-1-ARCH #1 SMP PREEMPT Thu Sep 28 08:39:52 CEST 2017 x86_64 GNU/Linux
我的GCC:
gcc version 7.2.0 (GCC)
我的Makefile:
SRC = test.c \
test2.c
OBJ = $(SRC:.c=.o)
NAME = test_name
CFLAG = -Wall -Werror -Wextra
all: $(NAME)
$(NAME): $(OBJ)
gcc -g $(OBJ) -o $(NAME) $(CFLAG)
clean:
rm -f $(OBJ)
fclean: clean
rm -f $(NAME)
re: fclean all}
在此先感谢
您正在将'-g'仅添加到链接命令。自动编译命令不会得到'-g'标志。将'-g'添加到'CFLAGS'本身 –
标准变量是'CFLAGS',使用默认规则,因此您必须使用默认名称变量将标志添加到对象编译中。更多关于make的手册。 – Stargateur