1成功:

src = $(wildcard ./*cpp)
obj = $(patsubst %.cpp,%.o ,$(src))target = test$(target) : $(obj)g++  $(obj) -o $(target)  -I/usr/include/mysql -L/usr/lib/mysql/ -lmysqlclient %.o: %.cppg++  -c $< -o $@ -I/usr/include/mysql -L/usr/lib/mysql/ -lmysqlclient.PHONY:clean
clean:rm -f $(target)  $(obj)

2.修改上方的 obj = $(patsubst %.cpp,%.o ,$(src))

为obj = $(patsubst %.cpp ,%.o ,$(src))

没有生成.o文件,obj的值是所有.cpp后缀文件

3. 修改上方的 obj = $(patsubst %.cpp,%.o ,$(src))

为obj = $(patsubst %.cpp, %.o ,$(src))

成功

4. 修改上方的 obj = $(patsubst %.cpp,%.o ,$(src))

为obj = $(patsubst %.cpp,%.o,$(src))

成功

总结:patsubst函数:

格式:$(patsubst <pattern>,<replacement>,<text> )

名称:模式字符串替换函数——patsubst。

功能:查找<text>中的单词(单词以“空格”、“Tab”或“回车”“换行”分隔)是否符合模式<pattern>,如果匹配的话,则以<replacement>替换。这里,<pattern>可以包括通配符“%”,表示任意长度的字串。如果<replacement>中也包含“%”,那么,<replacement>中的这个“%”将是<pattern>中的那个“%”所代表的字串。(可以用“\”来转义,以“\%”来表示真实含义的“%”字符)

返回:函数返回被替换过后的字符串。

备注:

在makefile文件中可以用@echo输出变量信息:

src=$(wildcard *.c ./sub/*.c)

dir=$(notdir $(src))

obj=$(patsubst %.c,%.o,$(dir) )

all:

@echo $(src)

@echo $(dir)

@echo $(obj)

@echo "end"

转载于:https://www.cnblogs.com/wanghao-boke/p/11068431.html

Makefile文件试错相关推荐

  1. Hellow Python之打包 exe 文件超级试错

    Hellow Python 文件超级试错 发展历史 诞生于 1989 年, Python是一个脚本语言,被解释器解释执行. 属于高级语言,运行慢,Python为我们提供了非常完善的基础代码库,开发效率 ...

  2. Makefile文件的编写规则

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 Makefile文件编写规则 文章目录: 1 makefile文件介绍 2 makefile文件编写 1 makefile文件介绍 makefile是 ...

  3. MakeFile 文件的作用

    makefile文件保存了编译器和连接器的参数选项,还表述了所有源文件之间的关系(源代码文件需要的特定的包含文件,可执行文件要求包含的目标文件模块及库等).创建程序(make程序)首先读取makefi ...

  4. 【Linux】Makefile文件

    Makefile文件 1. Makefile定义 一个工程中的源文件不计其数,其按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译 ...

  5. JMeter 报告监听器导入.jtl结果文件报错解决方案

    JMeter 报告监听器导入.jtl结果文件报错解决方案   by:授客 QQ:1033553122   1. 问题描述 把jmeter压测时生成的 .jtl结果文件导入监听器报告中,弹出如下错误提示 ...

  6. linux系统读取excel文件是否存在,小弟我用poi读excel,在window下没有有关问题,但把程序放到linux上时,读取客户端的excel文件报错,不...

    我用poi读excel,在window下没有问题,但把程序放到linux上时,读取客户端的excel文件报错,不知道如何解决 我用poi读excel,在window下没有问题,但把程序放到linux上 ...

  7. 拒绝无脑试错:写给萌新的“科学炼丹”入门手册

    近期在订阅号后台和文章评论区review了一下大家的问题,发现很多小伙伴现在已经把机器学习.深度学习的理论基础打好了,但是真正要解决一个现实中的算法问题的时候经常两手抓瞎,一顿毫无目的乱试,甚至认为模 ...

  8. 基础知识(三)makefile文件编写初级篇

    linux下进行c++开发,需要熟悉相关编译器的编译.链接命令.这边主要以实例讲解,如何在linux中,进行c++程序简单的编译链接运行. 一.单文件编译链接 这里先从最简单的单个文件编译链接为例.在 ...

  9. makefile 文件 (​ http://blog.csdn.net/ruglcc/article/details/7814546/ )

    makefile三要素:目标,依赖,命令 make -f makefilename   指定makefile文件 (makefile写多行命令时,使用换行符"\") 一.makef ...

最新文章

  1. 卷积:kernel size/padding/stride
  2. java map转json字符串_Java-Gso-json字符串解析-php后台返回字段类型可能为字符串(/空字符串)或者对象的情况...
  3. onloadsuccess: function获取不到表格数据_R语言输格式技巧系列(二),再精细一点,定制包含亚组的表格...
  4. 标准的的Flash插入
  5. 可拖动的进度条_TIM iOS版重大更新:支持语音进度条拖动和暂停
  6. c++ 创建并调用dll
  7. windows idea Tomcat端口被占用
  8. 清华EMBA课程系列思考之二 -- 清华探究及信息战略与管理
  9. Android so文件理解
  10. SAXReader的使用
  11. oracle恢复误删除数据/数据回滚
  12. win10怎么装c语言,WIN10上安装编写C++ C语言的软件教程
  13. Opencv 16位深度图片显示并保存
  14. SSM酒店预订客房管理系统(包含数据库及项目说明)
  15. [转]高精度乘法计算
  16. Mac idea打开项目Java文件和resources文件都被标记了resources类型
  17. signature=cb30417dfa65eef445418827e0f0e0e6,以太坊P2P网络节点初始化
  18. 【Android】在res中的图片下载导入到手机相册中的实现
  19. 人类vs计算机的游戏,《星际争霸2》人类VS电脑的5分钟碉堡快攻法(疯狂难度)...
  20. 基于javaweb的图书馆借阅管理系统(java+springboot+bootstrap+html+mysql)

热门文章

  1. JAVA 常用框架和工具
  2. PHPcurl抓取AJAX异步内容(转载)
  3. 我的2015年读书计划,每两周读完一本书!
  4. 【待完善】make: command not found,以及libtool.m4 and ltmain.sh have a version mismatch问题的解决方案...
  5. LPWSTR 类型的实参与const.char *类型形参不兼容
  6. SQL Server日期格式转换大全
  7. homebrew mysql conf_homebrew 安装mysql后,如何配置mysql
  8. 测试环境搭建流程_前端构建 DevOps 搭建 DevOps 基础平台(中)
  9. 字符串倒着输出java_Java 输出反转字符串
  10. 图书管理系统数据字典_2. 结构化——数据字典