静态库

原创 2011年01月13日 16:17:00

写了一个编译静态库和动态库的Makefile文档,修改Makefile中STATIC的值能够编译静态库或动态库。

  MakefileSTATIC=0

  LIBPATH=lib

  CFLAGS=-Wall

  LDFLAGS=-I$(LIBPATH) -L$(LIBPATH) -lfunc

  ifeq ($(STATIC), 1)

  LIB=$(LIBPATH)/libfunc.a

  else

  LIB=$(LIBPATH)/libfunc.so

  CFLAGS+=-fPIC

  endif

  TARGET=main

  SRC=main.c

  LIBSRC=libinc.c libdec.c

  LIBOBJ=$(addprefix $(LIBPATH)/, $(addsuffix .o, $(basename $(LIBSRC))))

  all: $(LIB) $(TARGET)

  target: $(TARGET)

  lib: $(LIB)

  $(LIBPATH)/%.o: %.c

  $(CC) $(CFLAGS) -o $@ -c $<

  ifeq ($(STATIC), 1)

  $(LIB): $(LIBOBJ)

  $(AR) -rcs $@ $^

  else

  $(LIB): $(LIBOBJ)

  $(CC) -shared -o $@ $^

  endif

  $(TARGET): $(SRC)

  $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)

  clean:

  rm -f $(TARGET) $(LIB) $(LIBOBJ)

相关文章推荐

windows 平台 libcurl7.51静态库

  • 2017年11月10日 15:31
  • 5.99MB
  • 下载

ffmpeg静态库的裁剪

直接对ffmpeg的源码进行编译链接生成的静态库非常大,仅仅avcodec就有几十兆。因此根据我们自己的需求对ffmpeg进行裁剪是非常必要的。 先不说具体的,直接上代码。在ffmpeg源码的根目录...

B站视频直播静态库

  • 2017年10月30日 14:25
  • 52.44MB
  • 下载

iOS6和iPhone5使用第三方静态库在真机无法运行的处理

环境: xcode4.5.1 iphone5在模拟器下正常运行的程序,在真机上出现下面的错误:ld: file is universal (3 slices) but does not contain...
  • teamlet
  • teamlet
  • 2013年02月02日 00:22
  • 8591

c++ zip静态库

  • 2015年08月20日 10:33
  • 85KB
  • 下载

如何将内核静态库编译连接到驱动程序中去

如何将内核静态库编译连接到驱动程序中去 2010-12-07 08:27 331人阅读 评论(1) 收藏 举报 http://blog.chinaunix.net/u2/61663/sho...

apr,apr-util,aprconv windows静态库

  • 2016年11月01日 13:06
  • 1.4MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:静态库
举报原因:
原因补充:

(最多只允许输入30个字)