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)
posted @ 2020-02-09 01:39  WindSun  阅读(3786)  评论(0编辑  收藏  举报
博客已停更,文章已转移,点击访问