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