GCC中 -I、-L、-l 选项的作用

时间:2024-11-06 21:36:33

在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)