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...