GCC中 -I、-L、-l 选项的作用
在makefile中经常会看到这些选项,gcc默认会在程序当前目录、path路径中查找所需要的材料
如何给gcc添加我们自己的原材料(头文件,库等)
- -I (注意是大写的i) 给gcc添加自定义的头文件的路径
例如:我的头文件目录是myinclude
-Imyinclude
- -L 给gcc添加额外的搜索库的路径
例如 :有一个库A所在的路径是目录B
-LB
- -l(小写的L) 给gcc 指定具体的库
例如:gcc需要一个库A
-lA
整体举例:
CC=g++
CFLAGS=-g
BIN=main
OBJS=main.o
LIBS=-I/usr/include/mysql -L/usr/lib64/mysql -lmysqlclient -ljsoncpp -lpthread -std=c++11
$(BIN):$(OBJS)
$(CC) $(CFLAGS) $^ -o $@
%.o:%.cpp
$(CC) $(CFLAGS) -c $< -o $@ $(LIBS)
.PHONY:clean
clean:
rm -f *.o $(BIN)