makefile学习经验-编译生成动态库文件(方式一)

makefile学习经验-编译生成动态库文件(方式一)

ID:8820770

大小:36.00 KB

页数:5页

时间:2018-04-08

makefile学习经验-编译生成动态库文件(方式一)_第1页
makefile学习经验-编译生成动态库文件(方式一)_第2页
makefile学习经验-编译生成动态库文件(方式一)_第3页
makefile学习经验-编译生成动态库文件(方式一)_第4页
makefile学习经验-编译生成动态库文件(方式一)_第5页
资源描述:

《makefile学习经验-编译生成动态库文件(方式一)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、makefile学习经验(三)----编译生成动态库文件(方式一)unix下生成动态库文件:        之前已经介绍了.o,.a,.so文件类型的含义,.so后缀的文件是动态库文件。       下面介绍在编译过程中链接到动态库文件的方法:一.   源码文件:so_test.h:voidtest_a();voidtest_b();voidtest_c(); test_a.c:#include"so_test.h"voidtest_a(){   printf("thisisintest_a...

2、");} test_b.c:#include"so_test.h"voidtest_a(){   printf("thisisintest_b...");} test_c.c:#include"so_test.h"voidtest_a(){   printf("thisisintest_c...");} test.c:#include"so_test.h"intmain(){test_a();test_b();test_c();return0;} 二.Makefile文件:#*****

3、************************************************************************#Copyright       :  ##Author          :  huochangjun#Date            :  2012-08-16#Version          :  Demo1动态链接库#Description           :  Demo##**********************************

4、******************************************/ SHELL=/bin/sh LIB_DIR=/cbs/lhbb/hcj/dy2/lib/BIN_DIR=/cbs/lhbb/hcj/dy2/bin/OBJECT_DIR=/cbs/lhbb/dy2/test/obj/APP_DIR=/cbs/lhbb/hcj/dy2/testapp/ $(shellmkdir-p${LIB_DIR})$(shellmkdir-p${BIN_DIR})$(shellmkdir-p

5、${OBJECT_DIR}) RM=rm-fr#**************************************************************************** CC=gccSHARED=-shared-oFPIC=-fPIC-c SRC_OBJECT=$(APP_DIR)test_a.c$(APP_DIR)test_b.c$(APP_DIR)test_c.cH_OBJECT=$(APP_DIR)so_test.hOBJECT=test_a.otest_b.

6、otest_c.o DY_SRC_OBJECT=$(APP_DIR)test.cDY_OBJECT=test.o LIB_OBJECT=libtest.soBIN_OBJECT=test #**************************************************************************** .PHONY:allall:$(LIB_OBJECT)$(BIN_OBJECT) $(LIB_OBJECT):$(OBJECT)       $(CC)$(O

7、BJECT)$(SHARED)-fPIC-o$(LIB_OBJECT)       mv$(LIB_OBJECT)$(LIB_DIR) $(OBJECT):$(SRC_OBJECT)$(H_OBJECT)       $(CC)$(FPIC)$(SRC_OBJECT) $(BIN_OBJECT):$(DY_OBJECT)       $(CC)$(OBJECT_DIR)$(DY_OBJECT)-L$(LIB_DIR)-ltest-o$(BIN_OBJECT)       mv$(BIN_OBJEC

8、T)$(BIN_DIR) $(DY_OBJECT):$(DY_SRC_OBJECT)       $(CC)-c$(DY_SRC_OBJECT)        mv$(OBJECT)$(DY_OBJECT)$(OBJECT_DIR) clean:       $(RM)$(LIB_DIR)$(BIN_DIR)$(OBJECT_DIR) 三.对makefile文件的简单阐述:基本的变量赋值在生成静态库文件已经介绍了,这边就不再重复了。 和静态库文件的生成不同的是,编译的命令不同:1.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。