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文件;
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文件;
相关文章推荐
- 静态、动态库的创建使用与makefile配置文件的编写
- Linux下生成静态库.a文件和动态库.so文件
- makefile学习经验(二)----编译生成静态库文件
- makefile学习——编译生成静态库文件
- linux使用autotools生成可执行文件、静态库、动态库Makefile的流程介绍
- makefile学习——编译生成动态库文件
- 用Makefile编译静态库文件和动态库文件
- makefile学习经验(二)----编译生成静态库文件
- makefile学习经验(二)----编译生成静态库文件
- autoconf 和automake生成Makefile文件
- ASP生成HTML静态文件之组件封装
- thinkphp 生成静态文件 配置
- PHP中生成静态html文件
- gcc生成.a静态库和.so动态库文件
- c#静态文件生成,续
- 例解 autoconf 和 automake 生成 Makefile 文件
- gcc链接g++编译生成的静态库和动态库的makefile示例
- 例解 autoconf 和 automake 生成 Makefile 文件
- 例解 autoconf 和 automake 生成 Makefile 文件
- hexo 构建静态文件无法生成 index.html 等文件