如何在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
- command 前面一定要以一个tab键开头,不能用空格。
- #开头表示注释,直到这一行末。
- \ 反斜杠 表示换行。
- 宏的使用: MACRONAME=value, 使用宏的时候这样用 $MACRONAME 或者 ${MACRONAME} 或者 $(MACRONAME)
- make命令内置的宏:
$?$<
$* - 特殊的2个符号
-
@ - 养成良好的清空目标文件的习惯:
clean:
rm eidt $(objects) - 或者更稳健的做法是:
.PHONY : clean
clean :
-rm edit $(objects)
———————————
$make -f Makefiel_01
以上是关于如何在makefile中指定头文件目录的主要内容,如果未能解决你的问题,请参考以下文章
如何在makefile(nmake使用的makefile)中加入依赖文件的搜索路径(依赖文件不在当前目录)
makefile : 如何链接来自不同子目录的目标文件并包含不同的搜索路径