makefile用法入門

2021-09-28 11:40:43 字數 1588 閱讀 7533

tool.c和main.c聯合編譯

注意tool.c中不能以main函式開頭,只能是其他的任意函式,同時需要包含tool.c函式宣告的標頭檔案tool.h

int

find_max

(int arr,

int n)

;

#include

"tool.h"

intfind_max

(int arr,

int n)

}return m;

}

#include

#include

"tool.h"

intmain()

;int m =

find_max

(arr,5)

;printf

("max = %d\n"

, m)

;return0;

}

如果不使用makefile而直接編譯

gcc main.c tool.c -o main
使用makefile進行編譯

cc = gcc

main

: main.c tool.o

$(cc) main.c tool.o -o main

tool.o

: tool.c

gcc -c tool.c

clean

: rm *.o main

清除中間檔案

make clean
cc = gcc

main: main.c bar.o foo.o

$(cc) main.c bar.o foo.o -o main

bar.o: bar.c

gcc -c bar.c

foo.o: foo.c

gcc -c foo.c

clean:

rm *

.o main

cc = gcc

all: main_max main_min

main_max: main_max.c bar.o foo.o

$(cc) main_max.c bar.o foo.o -o main_max

main_min: main_min.c bar.o foo.o

$(cc) main_min.c bar.o foo.o -o main_min

bar.o: bar.c

gcc -c bar.c

foo.o: foo.c

gcc -c foo.c

clean:

rm *

.o main_max main_min

make:**

* no targets specified and no makefile found. stop.

解決方法:

檢視是否進入到了makefile所在的目錄下,有可能你在其他檔案下進行的呼叫

Makefile 入門知識

這篇文章介紹在linux下進行c語言程式設計所需要的基礎知識。在這篇文章當中,我們將會學到以下內容 源程式編譯 makefile的編寫 程式庫的鏈結 程式的除錯 標頭檔案和系統求助 1.源程式的編譯 在linux下面,如果要編譯乙個c語言源程式,我們要使用gnu的gcc編譯器。下面我們以乙個例項來說...

Makefile簡單入門

作為linux或unix下的程式開發人員,大家一定都遇到過makefile,用make命令來編譯自己寫的程式確實是很方便。一般開發情況下,大家都是手工寫乙個簡單makefile。下面先給乙個最簡單的示例 makefile示例 object main.o function.o change objec...

快速入門makefile

在linux系統中我們通常使用gcc等命令來實現乙個專案的流程,而makefile類似於乙個shell指令碼,通過一系列規則來幫助我們簡化專案的編譯 鏈結等操作。可以實現近乎windows上vc 等編譯器的功能。我們可以像在終端中輸入命令一樣,將命令寫在makefile中。依靠簡單的依賴原則,mak...