Makefile生成动态库

soure:

#
# Simple .so Makefile
#

CC      := gcc
LD      := ld
CFLAGS  :=
LDFLAGS := -shared -fpic
SOURCE  := $(wildcard *.c)
OBJS    := $(patsubst %.c,%.o,$(SOURCE))
TARGET_LIB := x.so

all:$(OBJS)
    echo $(OBJS)
    $(LD) $(LDFLAGS) -o $(TARGET_LIB) $(OBJS)

%.o:%.c
    @echo Compiling $< ...
    $(CC) -c $(CFLAGS)  $< -o $*.o

.PHONY: clean

clean:
    rm *.so *.o -rf

 

我写了个简单的,自己更具情况修改! 

GOOD LUCK!

Makefile可以通过以下步骤来生成动态库: 1. 首先,需要定义动态库的目标文件和依赖文件。可以使用变量来定义这些文件,例如: ``` OBJS = file1.o file2.o DEPS = header1.h header2.h ``` 2. 接下来,需要定义生成动态库的规则。可以使用以下命令: ``` lib.so: $(OBJS) gcc -shared -o lib.so $(OBJS) ``` 这个规则指定了生成动态库的命令,使用gcc编译器的-shared选项来生成共享库文件lib.so,并将目标文件$(OBJS)作为输入。 3. 最后,需要定义清理规则,以便在需要时删除生成动态库文件。可以使用以下命令: ``` clean: rm -f lib.so ``` 这个规则指定了删除动态库文件的命令,使用rm命令删除lib.so文件。 通过以上步骤,可以在Makefile中定义生成动态库的规则,并使用make命令执行Makefile生成动态库。 #### 引用[.reference_title] - *1* *3* [使用makefile生成动态库和静态库](https://blog.csdn.net/xinyuantianzi/article/details/126069492)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Linux下Makefile中动态链接库和静态链接库的生成与调用](https://blog.csdn.net/qq_39852676/article/details/118082376)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值