几个常用makefile模板(动态库、静态库、可执行程序)

2024-02-22 03:08

本文主要是介绍几个常用makefile模板(动态库、静态库、可执行程序),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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)  
复制代码

这篇关于几个常用makefile模板(动态库、静态库、可执行程序)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/733948

相关文章

Vue3中的动态组件详解

《Vue3中的动态组件详解》本文介绍了Vue3中的动态组件,通过`component:is=动态组件名或组件对象/component`来实现根据条件动态渲染不同的组件,此外,还提到了使用`markRa... 目录vue3动态组件动态组件的基本使用第一种写法第二种写法性能优化解决方法总结Vue3动态组件动态

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

Java使用POI-TL和JFreeChart动态生成Word报告

《Java使用POI-TL和JFreeChart动态生成Word报告》本文介绍了使用POI-TL和JFreeChart生成包含动态数据和图表的Word报告的方法,并分享了实际开发中的踩坑经验,通过代码... 目录前言一、需求背景二、方案分析三、 POI-TL + JFreeChart 实现3.1 Maven

Python中操作Redis的常用方法小结

《Python中操作Redis的常用方法小结》这篇文章主要为大家详细介绍了Python中操作Redis的常用方法,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解一下... 目录安装Redis开启、关闭Redisredis数据结构redis-cli操作安装redis-py数据库连接和释放增

Java导出Excel动态表头的示例详解

《Java导出Excel动态表头的示例详解》这篇文章主要为大家详细介绍了Java导出Excel动态表头的相关知识,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录前言一、效果展示二、代码实现1.固定头实体类2.动态头实现3.导出动态头前言本文只记录大致思路以及做法,代码不进

vue基于ElementUI动态设置表格高度的3种方法

《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要

解读静态资源访问static-locations和static-path-pattern

《解读静态资源访问static-locations和static-path-pattern》本文主要介绍了SpringBoot中静态资源的配置和访问方式,包括静态资源的默认前缀、默认地址、目录结构、访... 目录静态资源访问static-locations和static-path-pattern静态资源配置

一文详解Python中数据清洗与处理的常用方法

《一文详解Python中数据清洗与处理的常用方法》在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战,本文总结了多种数据清洗与处理方法,文中的示例代码简洁易懂,有需要的小伙伴可以参考下... 目录缺失值处理重复值处理异常值处理数据类型转换文本清洗数据分组统计数据分箱数据标准化在数据处理与分析过