亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++關于Makefile的詳解含通用模板

2020-05-23 13:23:00
字體:
來源:轉載
供稿:網友

介紹

Makefile是一個規定了怎么去編譯和鏈接程序的腳本文件,在執行make命令時會執行該文件,window環境下的IDE,如visual studio已經集成了該功能,不需要關心程序的編譯規則,在linux下做C/C++開發時經常用到,說到這里首先要知道一個工具make。

make是一個解釋Makefile中指令的命令工具,常見的IDE都集成了這個工具。目前centos 7.3 GNU的make版本是3.82

規則

目標文件:依賴文件

[Tab]系統指令1     (注意:系統指令前必須有tab)

使用

3.1 簡單使用

現有文件main.cpp  test.cpp test.h三個文件,說些Makefile實現增量編譯(當其中有一個文件變化時,重新編譯該文件)

helloworld: main.o test.o  g++ main.o test.o -o helloworldmain.o: main.cpp test.h  g++ -c main.cpp -o main.otest.o: test.cpp test.h  g++ -c test.cpp -o test.oclean:  rm *.o helloworld

3.2 makefile中使用注釋,變量和函數

注釋:

    行前面加"#"號,如#g++ main.o test.o -o helloworld  表示注釋了該行

變量:

  •     用=定義一個變量,并且賦值(等號兩邊可以加空格)
  •     用+=追加字符串
  •     用$(A)來取得變量的值

例: 

A = src  echo $(A)   @echo $(A) ##只輸出echo的結果,不顯示執行的命令

特殊變量:

  •     $@ 目標文件
  •     $^ 依賴項列表
  •     $< 依賴項列表第一項

函數:

    Makefile中有一些預定義函數,形式:

    $(函數名 參數列表)
    參數列表:以逗號分隔
    函數名和參數之間用空格分開

    #獲取當前目錄路徑
    PWD = $(shell pwd)

    #獲取當前目錄下所有.cpp文件
    CXX_SOURCES = $(wildcard *.cpp)

    #獲取當前目錄下所有.cpp文件編譯后的所有目標文件.o
    CXX_OBJECTS = $(patsubst *.cpp *.o, $(CXX_SOURCES))

3.3 優化3.1中Makefile

EXE = helloworldGCC = g++$(EXE): main.o test.o    $(GCC) $^ -o $(EXE)main.o: main.cpp test.h    $(GCC) -c $< -o $@test.o: test.cpp test.h    $(GCC) -c $< -o $@clean:    rm *.o $(EXE)

3.4 優化3.3中Makefile

繼續優化Makefile,添加文件夾,把源碼都放入src和lib文件夾,保持增量編譯,即為Makefile通用模板

EXE = helloworldGCC = g++SUBDIR = src libCPP_SOURCES = $(foreach dir, $(SUBDIR), $(wildcard $(dir)/*.cpp))CPP_OBJECTS = $(patsubst %.cpp, %.o, $(CPP_SOURCES))DEP_FILES = $(patsubst %.o, %.d, $(CPP_OBJECTS))$(EXE): $(CPP_OBJECTS)    $(GCC) $(CPP_OBJECTS) -o $@%.o: %.cpp    $(GCC) -c -MMD $< -o $@-include $(DEP_FILES)clean:    rm $(CPP_OBJECTS) $(EXE)

此Makefile可以作為通用Makefile模板來編譯C/C++項目,歡迎收藏

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产精品久久精品怡红院| 91国产中文字幕| 国产精品日韩久久久久| 欧美重口另类videos人妖| 国产精品99久久久久久www| 中文字幕国产亚洲2019| 成人一区二区电影| 7777kkkk成人观看| 欧美一级大片在线免费观看| 日韩午夜在线视频| 国产精品三级美女白浆呻吟| 欧美在线观看一区二区三区| 欧美激情一区二区三级高清视频| 欧美日韩在线视频观看| 在线成人一区二区| 91精品国产91| 国产一区二区三区在线观看网站| 亚洲黄色www| 亚洲美女又黄又爽在线观看| 黄色成人av在线| 日本欧美爱爱爱| 国产精品视频1区| 国产精品扒开腿做| 亚洲人成人99网站| 久久精品国产欧美激情| 国产精品久久久久91| 亚洲r级在线观看| 91av视频在线播放| 77777亚洲午夜久久多人| 欧美资源在线观看| 亚洲欧美日韩中文在线| 国产精品久久久久影院日本| 欧美裸体xxxxx| 中文字幕日韩在线播放| 国产精品一区二区久久精品| 欧美激情a∨在线视频播放| 亚洲aⅴ日韩av电影在线观看| 国产性色av一区二区| 亚洲国产精品99久久| 亚洲japanese制服美女| 亚洲经典中文字幕| 欧美情侣性视频| 国产精品专区第二| 九九九久久久久久| 中文字幕欧美日韩精品| 日韩亚洲欧美中文高清在线| 92看片淫黄大片欧美看国产片| 日韩欧美一区二区三区久久| 成人午夜在线影院| 久久久国产一区| 国产精品吊钟奶在线| 国产一区私人高清影院| 欧美激情一二三| 久久天天躁狠狠躁夜夜爽蜜月| 久久成年人免费电影| 亚洲丝袜av一区| 51精品国产黑色丝袜高跟鞋| 欧美超级免费视 在线| 一区二区av在线| 亚洲人成网站色ww在线| 国产综合久久久久久| 57pao成人永久免费视频| 国产精品一区二区性色av| 国产成人极品视频| 国产精品久久久久久久久久久久久久| 另类视频在线观看| 精品中文字幕乱| 国产福利成人在线| 在线精品高清中文字幕| 亚洲一区二区三区视频播放| 日本国产高清不卡| 亚洲欧洲日产国产网站| 欧美午夜视频一区二区| 亚洲最大在线视频| 成人激情电影一区二区| 国产成人精彩在线视频九色| 国模吧一区二区三区| 91在线免费网站| 日韩中文字幕在线看| 亚洲欧美国产精品va在线观看| 日韩欧美国产一区二区| 韩曰欧美视频免费观看| 中文字幕欧美在线| 亚洲色图欧美制服丝袜另类第一页| 九九九久久久久久| 国产91免费看片| 欧美第一淫aaasss性| 亚洲一二在线观看| 国产成人午夜视频网址| 97超级碰碰人国产在线观看| 精品一区二区三区三区| 久久久久久久久久久人体| 亚洲综合精品伊人久久| 97香蕉久久超级碰碰高清版| 91亚洲永久免费精品| 中文字幕免费精品一区高清| 国产视频丨精品|在线观看| 91精品久久久久久久久久久久久久| 92裸体在线视频网站| 中文字幕一区二区精品| 另类色图亚洲色图| 久久久999精品视频| 亚洲激情免费观看| 欧美高清视频在线播放| 国产精品美女久久| 国产在线视频欧美| 亚洲香蕉伊综合在人在线视看| 国产精品爱久久久久久久| 日韩美女在线观看一区| 亚洲九九九在线观看| 国产精品丝袜白浆摸在线| 欧美性xxxx极品hd满灌| 91中文字幕在线观看| 欧美中文在线观看| 亚洲色图综合久久| 久久视频免费在线播放| 5566日本婷婷色中文字幕97| 久久综合九色九九| 欧美日韩国产一区在线| 久久久999国产精品| 精品激情国产视频| 国产精品永久免费视频| 亚洲精品www| 欧美日韩免费在线| 97在线视频免费观看| 亚洲人在线视频| 久久精品一本久久99精品| 精品在线欧美视频| 亚洲专区中文字幕| 久久天天躁日日躁| 国产91精品久久久久久| 亚洲欧美国产精品| 日韩精品在线电影| 日韩亚洲第一页| 精品国偷自产在线视频| 欧美精品在线极品| 亚洲乱码国产乱码精品精天堂| 91免费的视频在线播放| 欧美黄网免费在线观看| 精品国产一区久久久| 欧美高清理论片| 97香蕉久久超级碰碰高清版| 精品国产一区二区三区久久| 欧美成人精品激情在线观看| 久久精品国产电影| 久久久久久久国产精品视频| 91久热免费在线视频| 日韩av电影院| 国产伦精品一区二区三区精品视频| 欧美国产在线视频| 亚洲一区美女视频在线观看免费| 欧美激情喷水视频| 亚洲视频在线观看| 亚洲小视频在线观看| 91精品国产91久久久久久不卡| 午夜精品久久久久久99热软件| 欧美一级片久久久久久久| 97视频免费在线看| 久久成人精品视频| 在线精品91av| 国产精品永久免费在线| 国产精品福利在线观看| 中文字幕av一区中文字幕天堂| 成人亚洲激情网|