makefile не работает на Rasbian, но работает на Ubuntu - PullRequest
0 голосов
/ 21 мая 2019

Я пытаюсь скомпилировать проект c в raspbian.
Мой проект c является исходным кодом драйвера linux ut100c.
Этот проект скомпилирован в Ubuntu.

Makefile:

CFLAGS =  -g -Wall -W -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fPIC
LIBS = -lpthread -lcurl -lm
OBJS = dvb2dvb_server.o psi_read.o psi_create.o crc32.o json.o parse_config.o ringbuffer.o
TESTS = test.o psi_read.o psi_create.o crc32.o json.o parse_config.o ringbuffer.o

all: dvb2dvb_server

dvb2dvb_server: $(OBJS)
    $(CC) $(CFLAGS) $(LIBS) -o dvb2dvb_server $(OBJS)

test: $(TESTS)
    $(CC) $(CFLAGS) $(LIBS) -o test $(TESTS)


dvb2dvb_server.o: dvb2dvb_server.c dvb2dvb_server.h psi_read.h psi_create.h crc32.h ringbuffer.h
    $(CC) $(CFLAGS) -c -o dvb2dvb_server.o dvb2dvb_server.c

psi_create.o: psi_create.c dvb2dvb_server.h psi_create.h crc32.h
    $(CC) $(CFLAGS) -c -o psi_create.o psi_create.c

psi_read.o: psi_read.c dvb2dvb_server.h psi_read.h crc32.h
    $(CC) $(CFLAGS) -c -o psi_read.o psi_read.c

crc32.o: crc32.c crc32.h
    $(CC) $(CFLAGS) -c -o crc32.o crc32.c

json.o: json.c json.h
    $(CC) $(CFLAGS) -c -o json.o json.c -lm

parse_config.o: parse_config.c parse_config.h
    $(CC) $(CFLAGS) -c -o parse_config.o parse_config.c

ringbuffer.o: ringbuffer.c ringbuffer.h
    $(CC) $(CFLAGS) -c -o ringbuffer.o ringbuffer.c


clean:
    rm -f dvb2dvb_server $(OBJS) *~

Как мне скомпилировать это в Ubuntu?

Журнал ошибок:

cc -g -Wall -W -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -lpthread -lcurl -lm -o dvb2dvb_server dvb2dvb_server.o psi_read.o psi_create.o crc32.o json.o parse_config.o ringbuffer.o
dvb2dvb_server.o: In function `curl_thread':
/home/ubuntu/Desktop/dvb2dvb-server/dvb2dvb_server.c:205: undefined reference to `curl_easy_init'
/home/ubuntu/Desktop/dvb2dvb-server/dvb2dvb_server.c:206: undefined reference to `curl_easy_setopt'
/home/ubuntu/Desktop/dvb2dvb-server/dvb2dvb_server.c:207: undefined reference to `curl_easy_setopt'
/home/ubuntu/Desktop/dvb2dvb-server/dvb2dvb_server.c:208: undefined reference to `curl_easy_setopt'
/home/ubuntu/Desktop/dvb2dvb-server/dvb2dvb_server.c:209: undefined reference to `curl_easy_setopt'
/home/ubuntu/Desktop/dvb2dvb-server/dvb2dvb_server.c:210: undefined reference to `curl_easy_perform'
/home/ubuntu/Desktop/dvb2dvb-server/dvb2dvb_server.c:212: undefined reference to `curl_easy_cleanup'

Обновлено:
добавлен журнал ошибок в виде текста

1 Ответ

0 голосов
/ 11 июня 2019

Я обновлен как @Джон Боллинджер

dvb2dvb_server: $(OBJS)
    $(CC) $(CFLAGS) -o dvb2dvb_server $(OBJS) $(LIBS)

И я могу без проблем скомпилировать

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