如何在makefile中指定头文件目录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在makefile中指定头文件目录相关的知识,希望对你有一定的参考价值。

参考技术A 指定
头文件
目录,一般都是通过
编译器
参数-I(大写的I)来指定的,假设头文件目录在:
/home/develop/include则可以通过:
-I/home/develop/include将该目录添加到头文件搜索路径中
在makefile中则可以这样写:
CFLAGS=-I/home/develop/include然后...
参考技术B test.h不存在是因为你没有给指定test.h的路径,因为没有指定的话头文件搜索会以这个顺序1,当前目录2,系统目录所以你现在有两个法1,在包含头文件的时候以当前目录开始也就是说你需要把这里#include"test.h"改成#include"./math/test.h"2,在makefile中用-i来指定搜索目录比如makefile中这样写gcc-i./math其他乱七八糟参数

make命令和makefile

make命令和Makefiles:

1. make是一个命令,解释makefile中指令的命令工具,不同的IDE有自己的make命令。

1. make命令不知道怎么去构建程序,必须有一个文件告诉make命令怎么去构建程序,这个文件就是makefile.

2.makefile大多数情况下和源文件在同一个目录下。可以有很多个makefile。

makefile 的语法:

1. makefile 由dependencies和rule组成

    dependency有一个target和一些需要依赖的源文件

    rule 描述了怎样从相关的文件中去创建target。 通常target是一个单独的可执行的文件。

target : prerequisites
    command
  1. command 前面一定要以一个tab键开头,不能用空格。
  2. #开头表示注释,直到这一行末。
  3.  \ 反斜杠 表示换行。
  4. 宏的使用: MACRONAME=value, 使用宏的时候这样用 $MACRONAME 或者 ${MACRONAME} 或者 $(MACRONAME)
  5. make命令内置的宏:      
        $?

        [email protected]

        $<

        $*
  6. 特殊的2个符号
     -
     @
  7. 养成良好的清空目标文件的习惯:
     clean: 
      rm eidt $(objects)
  8. 或者更稳健的做法是:
     .PHONY : clean
            clean :
                    -rm edit $(objects)

———————————

$make -f Makefiel_01

以上是关于如何在makefile中指定头文件目录的主要内容,如果未能解决你的问题,请参考以下文章

如何在makefile(nmake使用的makefile)中加入依赖文件的搜索路径(依赖文件不在当前目录)

make命令和makefile

makefile:如何生成目标文件到上层目录

makefile : 如何链接来自不同子目录的目标文件并包含不同的搜索路径

如何修改makefile以将更改的源编译到对象目录中,文件列表除外

请教多文件夹makefile问题