热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

你需要在makefile中包含头文件吗?

如何解决《你需要在makefile中包含头文件吗?》经验,为你挑选了1个好方法。

make规则行上冒号后面的名称是依赖项.如果最近修改了任何依赖项而不是规则目标,则执行该规则.(目标通常是一个文件,其名称与规则名称相同,认为有例外.)

如果您取出任何依赖项,那么您的目标仍然可以构建,但即使您更改它依赖的文件也不会重建它(长期可能导致更大规模的构建中断,例如当您尝试时将从头文件的不同版本构建的两个对象链接在一起).


查找给定源文件所依赖的所有头文件通常不是人类可能的,因此通常使用各种辅助工具来自动生成依赖项.请注意,您可以稍后添加依赖项:

foo.o: foo.c      ## Manually written rule
        $(CC) -c -o $@ $^

## added later, e.g. by a tool
foo.o: foo.h
foo.o: bar.h

但总而言之,它make是一个非常低级的构建工具,它通常只用于非常小的项目或作为其他构建系统的后端(例如autotools或cmake).



1> Kerrek SB..:

make规则行上冒号后面的名称是依赖项.如果最近修改了任何依赖项而不是规则目标,则执行该规则.(目标通常是一个文件,其名称与规则名称相同,认为有例外.)

如果您取出任何依赖项,那么您的目标仍然可以构建,但即使您更改它依赖的文件也不会重建它(长期可能导致更大规模的构建中断,例如当您尝试时将从头文件的不同版本构建的两个对象链接在一起).


查找给定源文件所依赖的所有头文件通常不是人类可能的,因此通常使用各种辅助工具来自动生成依赖项.请注意,您可以稍后添加依赖项:

foo.o: foo.c      ## Manually written rule
        $(CC) -c -o $@ $^

## added later, e.g. by a tool
foo.o: foo.h
foo.o: bar.h

但总而言之,它make是一个非常低级的构建工具,它通常只用于非常小的项目或作为其他构建系统的后端(例如autotools或cmake).


推荐阅读
  • 本书详细介绍了在最新Linux 4.0内核环境下进行Java与Linux设备驱动开发的全面指南。内容涵盖设备驱动的基本概念、开发环境的搭建、操作系统对设备驱动的影响以及具体开发步骤和技巧。通过丰富的实例和深入的技术解析,帮助读者掌握设备驱动开发的核心技术和最佳实践。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • 对于以压缩包形式发布的软件,其目录中通常包含一个配置脚本 `configure`。该脚本的主要功能是确定编译所需的各项参数,如头文件的位置和链接库的路径,并生成相应的 `Makefile` 以供编译使用。通过运行此脚本,开发者可以确保软件在不同环境下的正确编译与安装。此外,该脚本还能够检测系统依赖项,进一步提高编译过程的可靠性和兼容性。 ... [详细]
  • 在 CentOS 7 上部署和配置 RabbitMQ 消息队列系统时,首先需要安装 Erlang,因为 RabbitMQ 是基于 Erlang 语言开发的。具体步骤包括:安装必要的依赖项,下载 Erlang 源码包(可能需要一些时间,请耐心等待),解压源码包,解决可能出现的错误,验证安装是否成功,并将 Erlang 添加到环境变量中。接下来,下载 RabbitMQ 的 tar.xz 压缩包,并进行解压和安装。确保每一步都按顺序执行,以保证系统的稳定性和可靠性。 ... [详细]
  • 在 Debian 11 系统中部署 CMake 的详细步骤与最佳实践
    CMake是一个免费、开源、跨平台的工具系列,旨在构建、测试和打包软件. CMake用于使用简单的平台和独立于编译器的配置文件来控制软件编译过程,并生成可在您选择的编译器环境中使用 ... [详细]
  • PyFasterRCNN配置详解与优化指南
    本文主要讲解Faster-RCNN的配置过程,以及配置过程中遇到问题的解决方案。 1.下载工程gitclone--recursivehttps:github.comr ... [详细]
  • 如何判断电容好坏?
    关注+星标公众号,不错过精彩内容来源 | 电子电路怎样测量小容量电容的好坏?1、检测10pF以下的小电容,因10pF以下的固定电容器容量太小,如果用指针式用万用表进行测量,只能定性 ... [详细]
  • 个人博客https:juejin.cnuser176366088104638和http:blog.wuzhenyu.com.cncmake编译动态库和链接动态库cmake中&#x ... [详细]
  • Linux下Google Test (GTest)测试环境搭建步骤
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • [转]Makefile 使用总结
    2019独角兽企业重金招聘Python工程师标准1.Makefile简介Makefile是和make命令一起配合使用的.很多大型项目的编译都是通过Makefile来组织的,如 ... [详细]
  • 1套接字发展史及发展套接字起源于20世纪70年代加利福尼亚大学伯克利分校版本的Unix,即人们所说的BSDUnix。因此,有时人们也把套接字称为“伯克利套接字&rdquo ... [详细]
  • RT。可以实现么???我需要封装一个jar、但是引用到了自己通过JNI写的so动态库,打包的时候我发现当把lib文件夹一起打包进去的时候,java文件的那些代码全没了,只打包java代码是正常的, ... [详细]
  • 如何提高工程编译速度
    点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,麻烦点个在看或点个赞,感谢~     文章首发  公众号——Pou光明公众号还在维护,大家莫慌~LinuxQt平台为例测试编译 ... [详细]
  • cMakefilec的Makefile和c的Makefile有些不同。a.ccb.ccc.cc对应头文件a.h和b.ha.h#ifndefA#defineAconstintnu ... [详细]
  • makefile重要的三个概念:目标依赖关系命令一make与makefilemake是一个应用程序1.解析源程序之间的依赖关系2.根据依赖关系自动维护编译工作3.执行宿主操作系统中 ... [详细]
author-avatar
手机用户2502938137
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有