Makefile: crt1.o: в функции `_start ': (.text + 0x20): неопределенная ссылка на` main' - PullRequest
0 голосов
/ 05 мая 2018

Когда я компилирую свой make-файл, я сталкиваюсь с этой проблемой:

gcc   parser.tab.o   -o parser.tab
/usr/lib/../lib64/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
parser.tab.o: In function `yyparse':
parser.tab.c:(.text+0x2c3): undefined reference to `yylex'
parser.tab.c:(.text+0x3f5): undefined reference to `execute'
parser.tab.c:(.text+0x82b): undefined reference to `yyerror'
parser.tab.c:(.text+0x947): undefined reference to `yyerror'
collect2: ld returned 1 exit status
make: *** [parser.tab] Error 1

Вот мой файл make:

CC = gcc
CFLAGS = -lreadline 
PROGS = d8sh parser.tab executor lexer


all: $(PROGS)

clean:
    rm -f *.o $(PROGS) *.tmp

d8sh: d8sh.o

d8sh.o: executor.h lexer.h

executor.o: command.h

lexer.o: parser.tab.h

parser.tab.o: command.h

Только d8sh.c имеет основную функцию. Может кто нибудь разобраться в чем проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...