博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
几个常用makefile模板(动态库、静态库、可执行程序)
阅读量:4159 次
发布时间:2019-05-26

本文共 2185 字,大约阅读时间需要 7 分钟。

1、编译动态库

#############################################################       # Makefile for shared library.      # 编译动态链接库      #############################################################      #set your own environment option      CC = g++      CC_FLAG = -D_NOMNG -D_FILELINE            #set your inc and lib      INC =       LIB = -lpthread -L./ -lsvrtool            #make target lib and relevant obj       PRG = libsvrtool.so      OBJ = Log.o            #all target      all:$(PRG)            $(PRG):$(OBJ)          $(CC) -shared -o $@ $(OBJ) $(LIB)            .SUFFIXES: .c .o .cpp      .cpp.o:          $(CC) $(CC_FLAG) $(INC) -c $*.cpp -o $*.o            .PRONY:clean      clean:          @echo "Removing linked and compiled files......;          rm -f $(OBJ) $(PRG)

2、编译静态库

#############################################################      # Makefile for static library.      # 编译静态链接库      #############################################################      #set your own environment option      CC = g++      CC_FLAG = -D_NOMNG -D_FILELINE            #static library use 'ar' command       AR = ar            #set your inc and lib      INC =       LIB = -lpthread -L./ -lsvrtool            #make target lib and relevant obj       PRG = libsvrtool.a      OBJ = Log.o            #all target      all:$(PRG)      $(PRG):$(OBJ)          ${AR} rv ${PRG} $?            .SUFFIXES: .c .o .cpp      .cpp.o:          $(CC) $(CC_FLAG) $(INC) -c $*.cpp -o $*.o            .PRONY:clean      clean:          @echo "Removing linked and compiled files......"          rm -f $(OBJ) $(PRG)

3、可执行程序

###########################################      #Makefile for simple programs      ###########################################      INC=      LIB= -lpthread            CC=CC      CC_FLAG=-Wall            PRG=threadpooltest      OBJ=CThreadManage.o CThreadPool.o CThread.o CWorkerThread.o threadpooltest.o            $(PRG):$(OBJ)          $(CC) $(INC) $(LIB) -o $@ $(OBJ)                .SUFFIXES: .c .o .cpp      .cpp.o:          $(CC) $(CC_FLAG) $(INC) -c $*.cpp -o $*.o            .PRONY:clean      clean:          @echo "Removing linked and compiled files......"          rm -f $(OBJ) $(PRG)

转载地址:http://pvdxi.baihongyu.com/

你可能感兴趣的文章
内存分配的形式有哪些? C++
查看>>
什么是内存泄露,如何避免内存泄露 C++
查看>>
栈和堆的空间大小 C++
查看>>
什么是缓冲区溢出 C++
查看>>
sizeof C++
查看>>
使用指针有哪些好处? C++
查看>>
引用还是指针?
查看>>
checkio-non unique elements
查看>>
checkio-medium
查看>>
checkio-house password
查看>>
checkio-moore neighbourhood
查看>>
checkio-the most wanted letter
查看>>
Redis可视化工具
查看>>
大牛手把手带你!2021新一波程序员跳槽季,全套教学资料
查看>>
Guava Collections API学习之AbstractMapBasedMultimap
查看>>
jQuery1.9(动画效果)学习之——.queue()
查看>>
HTML5学习之——概念篇
查看>>
HTML5学习之——HTML 5 视频
查看>>
HTML5学习之——HTML 5 Video + DOM
查看>>
HTML5学习之——HTML 5 音频
查看>>