makefile 的-I -L
时间: 2023-09-01 20:06:33 浏览: 140
在 Makefile 中,-I 和 -L 是用于指定头文件目录和库文件目录的选项。
-I 选项用于指定头文件的搜索路径。它告诉编译器在哪些目录中查找头文件。例如,如果你有一个名为 include 的目录包含了你的头文件,你可以在 Makefile 中使用 -I 选项来指定这个目录:
```makefile
CFLAGS := -Iinclude
```
这样,当编译器在编译源文件时遇到 #include <header.h> 这样的语句时,它会在 include 目录下查找 header.h 头文件。
-L 选项用于指定库文件的搜索路径。它告诉链接器在哪些目录中查找库文件。例如,如果你有一个名为 lib 的目录包含了你的库文件,你可以在 Makefile 中使用 -L 选项来指定这个目录:
```makefile
LDFLAGS := -Llib
```
这样,当链接器在链接目标程序时需要使用到某个库文件时,它会在 lib 目录下查找对应的库文件。
需要注意的是,-I 和 -L 选项一般会与变量 CFLAGS 和 LDFLAGS 配合使用。CFLAGS 可以用于传递给编译器的选项,LDFLAGS 可以用于传递给链接器的选项。例如:
```makefile
CFLAGS := -Iinclude
LDFLAGS := -Llib
myprogram: main.o
gcc $(CFLAGS) $(LDFLAGS) -o myprogram main.o -lmylib
```
在上面的示例中,-lmylib 表示链接器需要连接名为 libmylib 的库文件。链接器会在 -Llib 指定的目录下查找该库文件。
阅读全文