龙芯俱乐部开源技术社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 99|回复: 2

菜鸟学习linux编程-Makefile

[复制链接]

3

主题

12

帖子

394

积分

中级会员

Rank: 3Rank: 3

积分
394
发表于 2022-5-15 20:34:45 | 显示全部楼层 |阅读模式
大学学的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后运行正常。

3

主题

12

帖子

394

积分

中级会员

Rank: 3Rank: 3

积分
394
 楼主| 发表于 2022-5-15 20:59:55 | 显示全部楼层
报的错误是make没有规则来制作目标

78

主题

431

帖子

43万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
439538
发表于 2022-5-16 06:55:38 | 显示全部楼层
不错 ,继续分享。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|龙芯俱乐部开源技术社区

GMT+8, 2022-6-30 02:33 , Processed in 0.141277 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表