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

  • 相关阅读:
    MySQL_update同一张表
    MySQL_前缀索引_建立
    oracle_partition sample_simple
    oracle_partition sample
    java_java 利用JAX-RS快速开发RESTful 服务
    Java_Spring MVC_Servlet
    匿名函数
    randrange()和random() 函数
    迭代器 生成器 面向过程编程
    enumerate 模块
  • 原文地址:https://www.cnblogs.com/hoys/p/2026850.html
Copyright © 2011-2022 走看看