dxllyct 发表于 2022-5-15 20:34:45

菜鸟学习linux编程-Makefile

大学学的C语言,至今也有十来年的时间了。工作与之不同,放下了不少。手里刚好有龙芯智龙开发板以及龙芯福珑2.0的小电脑,调试中的一些问题分享一下。

抄写的一个Makefile。福珑2.0,loongnix20系统,下载了gdbm相关的库,libgdbm-dev,libgdbm-compat4需要安装一下。

下面是Makefile的原文

all: application

INCLUDE = /usr/include/gdbm

LIBS=gdbm
#LIBS= -lgdbm -lgdbm_compat
CFLAGS=
app_ui.o: app_ui.c cd_data.h

gcc $(CFLAGS) -c app_ui.c
access.o: cd_access.c cd_data.h
gcc $(CFLAGS) -c cd_access.c
application: app_ui.o cd_access.o
gcc $(CFLAGS) -o application app_ui.o cd_access.o -l$(LIBS)
clean:
rm -f application *.o
nodbmfiles:
rm -f *.dir *.pag



以上make后报错。检查后,“INCLUDE=xxx”不需要,LIBS=gdbm不可用,需要使用LIBS= -lgdbm -lgdbm_compat,修改后的Makefile文件如下:

all: application

#INCLUDE = /usr/
LIBS= -lgdbm -lgdbm_compat
CFLAGS=
app_ui.o: app_ui.c cd_data.h
gcc $(CFLAGS) -c app_ui.c
access.o: cd_access.c cd_data.h
gcc $(CFLAGS) -c cd_access.c $(LIBS)
application: app_ui.o cd_access.o
gcc $(CFLAGS) -o application app_ui.o cd_access.o $(LIBS)
clean:
rm -f application *.o
nodbmfiles:
rm -f *.dir *.pag

make后运行正常。

dxllyct 发表于 2022-5-15 20:59:55

报的错误是make没有规则来制作目标

sn2015ol 发表于 2022-5-16 06:55:38

不错 ,继续分享。
页: [1]
查看完整版本: 菜鸟学习linux编程-Makefile