您的位置:首页 > 其它

makefile生成动态库和静态库文件

2018-01-08 18:27 141 查看
编写程序实现两个整数相加、相减操作
1、文件分布(xiangjian.cxiangjian.hxiangjia.cxiangjia.hmain.c)
2、编写makefile进行编译
3、将相加功能和相减功能生成静态库(.a)和动态库(.so)





此时我的makefile文件内容为:

all:math libmymath1.a libmymath2.so
math:main.c ./mymath/xiangjia.c ./mymath/xiangjian.c
gcc main.c ./mymath/xiangjia.c ./mymath/xiangjian.c -o math -I ./mymath
libmymath1.a:./mymath/xiangjia.c ./mymath/xiangjian.c
ar cr libmymath1.a ./mymath/xiangjia.c ./mymath/xiangjian.c
libmymath2.so:./mymath/xiangjia.o ./mymath/xiangjian.o
gcc -c ./mymath/xiangjia.c -o xiangjia.o && gcc -c ./mymath/xiangjian.c -o xiangjian.o && \
gcc -shared -fPCI -o libmymath2.so ./mymath/xiangjia.o ./mymath/xiangjian.o

因为要生成三个不同的文件,所以加了一个all目标文件,包含三个文件的依赖,在生成静态库的时候,直接用*.c文件生成即可,但是在生成动态库的时候要用*.o文件生成,而且要注意,不能同时生成两个*.o文件;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: