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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM