首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >makefile不是在raspbian工作,而是在ubuntu工作。

makefile不是在raspbian工作,而是在ubuntu工作。
EN

Stack Overflow用户
提问于 2019-05-21 16:24:52
回答 1查看 54关注 0票数 0

我正在尝试在raspbian中编译c项目。

我的c项目是linux ut100c驱动程序源代码。

这个项目是用ubuntu编写的。

Makefile:

代码语言:javascript
复制
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编译它呢?

错误日志:

代码语言:javascript
复制
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'

更新:

添加错误日志作为文本

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-11 03:21:42

我更新为“约翰·博林格”

代码语言:javascript
复制
dvb2dvb_server: $(OBJS)
    $(CC) $(CFLAGS) -o dvb2dvb_server $(OBJS) $(LIBS)

而且,我可以毫无问题地编译

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56242638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档