在编写makefile的时候,会遇到就是程序源文件和makefile不是在同一个目录下的,如引用某一个头文件或者.c文件,此时需要通过一些设定来引导make到指定的目录下面对对应的头文件进行搜索。
一、makefile在搜索指定文件的时候有三种方式,具体如下:
1、在makefile的开头通过对 VPATH 变量来设置
通过VPATH设定的路径是 全局有效 的,通过如下格式进行设置:
VPATH = src:…/headers
上面的的定义指定两个目录,“src”和“…/headers”,make会按照这个顺序进行搜索。目录由“冒号”分隔。
2、使用vpath变量设定对应的搜索路径,具体如下:
可以指定不同的文件在不同的搜索目录中。这是一个很灵活的功能。它的使用方法有三种:
1)vpath
为符合模式的文件指定搜索目录。
2)vpath
清除符合模式的文件的搜索目录。
3)vpath
清除所有已被设置好了的文件搜索目录。
vapth 使用方法中的需要包含“%”字符。“%”的意思是匹配零或若干字符,
例如,“%.h”表示所有以“.h”结尾的文件。指定了要搜索的文件集,而
则指定了的文件集的搜索的目录
3、通过gcc命令中的 -I (大写的i)选项来设定对应文件路径
如: gcc -c -I /src/main.c

二、makefile指定文件生成位置:
在.c文件编译的时候,会生成中间文件.o,此时可能需要指定对应.o文件的生成位置,可以通过gcc的-o选项命令来指定,如:
gcc -c main.c -o ./dir/main.o

makefile 指定文件搜索路径和文件生成路径相关推荐

  1. 文件搜索命令-其他文件搜索命令

    locate 命令名称:locate 命令所在路径:/usr/bin/locate 执行权限:所有用户 语法:locate 文件名,-i 忽略大小写 功能描述:在文件资料中查找文件,类似于window ...

  2. everything文件搜索_本地文件搜索神器,Everything、Listary、AnyTXT Searcher!

    今天来分享一下3个本地文件搜索工具. 1.Everything everything应该是最被人们熟知的一个了,毕竟它完全免费,占用内存小.搜索速度快,是一个非常实用的工具. 也许有人会说,Windo ...

  3. linux的文件搜索命令,Linux文件搜索命令find的用法 | 术与道的分享

    不管在Windows还是Linux中,最重要的问题不是说你能搜索到这个文件,而是最好少用搜索,应该是你在整个服务器的规划里面,把所以的文件目录规划的很好.就像如果你在家里找衣服,如果不是你乱扔,就不可 ...

  4. 文件搜索工具(Python实现)

    文章目录 文件搜索工具介绍 代码实现 实现思路 os.walk函数 os.path.join函数 代码整体编写 打包成exe程序 效果展示 文件搜索工具介绍 文件搜索工具能够基于名称快速定位匹配的文件 ...

  5. 87-Java方法递归形式、算法流程总结、递归常见案例、递归经典案例-猴子吃桃问题、非规律化递归案例-文件搜索、啤酒问题

    方法递归 一.递归的形式和特点 1.什么是方法递归? 方法直接调用自己或者间接调用自己的形式称为方法递归(recursion). 递归作为一种算法在程序设计语言中广泛应用. 2.递归的形式 直接递归: ...

  6. gcc指定头文件搜索路径及动态链接库搜索路径

    一.#include <>与#include "" #include <>直接到系统指定的某些目录中去找某些头文件. #include "&quo ...

  7. 多个cpp文件生成so_C++:C++的文件搜索路径

    在做大型工程的时候,除了有C++语法知识之外,还要有工程能力. 最先要具备的能力是: 理解C++文件的编译,链接过程. 明白C++头文件的搜索路径. 本文,介绍C++的文件搜索路径. 对于C++文件来 ...

  8. makefile obj文件路径_一个简单makefile(指定obj文件位置) | 学步园

    1. 可以指定 .o 文件生成的位置 2. 可以自动搜索原代码文件 用于例子的目录和文件结构大致如下: app src obj test.o a.o a.cpp test.cpp makefile i ...

  9. python 当前路径 搜索路径图某一个不包含_python编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径...

    解决思路 对于像我这种刚开始入门计算机的人,解决问题最关键的是思路的学习,很多时候代码,一看就懂,一写就废. 像这个题目,我们可以用程序的思维,一步一步去解决,将问题细分,细分成你能够解决的问题然后再 ...

  10. 编写文件搜索小程序:1. 输入绝对路径以及搜索关键字,2. 搜索指定路径下(包括子文件夹)中名称包含关键字的所有文件并打印出,3. 将当前操作记录日志

    package com.homework;import java.io.File; import java.io.FileOutputStream; import java.io.IOExceptio ...

最新文章

  1. 条件滤波、半径滤波移除离群点
  2. 1月第1周要闻回顾:年末威胁上升的态势仍延续
  3. 【题意+分析】1067 Sort with Swap(0, i) (25 分)_24行代码AC
  4. Steins;Game Gym - 102798J(未解决)
  5. 下载anaconda时出现“Please make sure you are connected to the internet”警告
  6. ECCV 2020 论文大盘点-人体形状与姿态估计篇
  7. jQuery中bind,live,delegate与one方法的用法及区别
  8. 对计算器软件的测试报告,Win7计算器软件测试报告.doc
  9. 7限制cpu使用_macOS限制CPU或进程使用率
  10. 使用ln命令创建软引用(相对路径与绝对路径)
  11. seaweedfs java api_seaweedfs代码详解
  12. GoLang json格式化输出
  13. Python学习总结报告
  14. 建模你不能不知道这些网站能接单 | 建议收藏
  15. 前端导出word图片
  16. Telegram Bot 使用文档
  17. alert弹框DeprecationWarning
  18. shp数据中文乱码的一种恢复方法
  19. 浏览器跳出HTML编码,浏览器如何解析HTML字符编码
  20. h5互动小游戏定制开发流程

热门文章

  1. 平面几何----斜射影定理的应用
  2. 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔 ...
  3. 远程桌面系统管理员以限制你登入计算机,windows远程连接时:系统管理员已经限制你可以使用的登录类型(网络或交互式)解决办法...
  4. kali桌面的安装与切换
  5. 怎么将pdf转Word中英文转换器在线转换
  6. 从Facebook上市看“社交网站效应”
  7. springboot绑定邮箱激活发邮件
  8. Chapter 1 贝叶斯推断的思想
  9. vue 集成环信 web im 加 一对一视频通话
  10. 操作系统清华 向勇 陈渝(RISC-V)(2)---操作系统与系统结构和程序设计语言