zoukankan      html  css  js  c++  java
  • linux下链接静态链接库

    生成静态链接库/动态链接库的makefile如下:

    #CC:=arm-linux-gcc
    CFLAGS :
    = -I..
    LDFLAGS :
    = -lpthread -lrt

    SRCS :
    = $(wildcard *.c)

    ifdef ARCH
    libclient :
    = libclient-$(ARCH).a
    else
    libclient :
    = libclient.a
    endif

    all: $(libclient) libclient.so

    $(libclient): client.o net.o
    $(AR)
    -rcv $@ $^

    libclient.so: client.o net.o
    $(CC)
    -shared -o $@ $^

    .depend: Makefile $(SRCS)
    @$(CC) $(CFLAGS)
    -MM $(SRCS) >$@
    sinclude .depend

    clean:
    rm
    -rf *.o .depend $(test_client) apitest $(libclient) libclient.so

    链接动态链接库的makefile如下:

    ARCH=arm-linux

    ifdef ARCH
    CC:
    =$(ARCH)-gcc
    AR:
    =$(ARCH)-ar
    export ARCH
    export CC
    export AR
    endif

    CFLAGS:
    =-I..
    LDFLAGS:
    =-L. -lrt

    SRCS :
    = $(wildcard *.c)

    ifdef ARCH
    camera_track :
    = camera_track-$(ARCH)
    LIB:
    =-lclient-$(ARCH)
    else
    camera_track :
    = camera_track
    LIB:
    =-lclient
    endif

    all: $(camera_track)

    $(camera_track): camera_track.o camera_ctrl.o
    $(CC) $(LDFLAGS)
    -o $@ $^ $(LIB)

    .depend: Makefile $(SRCS)
    @$(CC) $(CFLAGS)
    -MM $(SRCS) >$@
    sinclude .depend

    clean:
    rm
    -rf *.o .depend $(camera_track)


    当需要直接用命令行进行编译时,可以用如下命令:
    arm-linux-gcc -L. -lrt -o camera_track camera_track.c camera_ctrl.c -lclient

  • 相关阅读:
    redux的理解
    跨域的三种解决方案
    HTTP缓存字段总结
    src属性与浏览器渲染
    ES6之promise原理
    http header Content-Type之常用三种
    用css实现正方形div
    js判断数据类型
    react中PureComponent浅对比策略
    React中自己实现选项卡动画
  • 原文地址:https://www.cnblogs.com/hoys/p/2026850.html
Copyright © 2011-2022 走看看