我已經創建了一個.h
頭文件,實現並創建了.a
靜態庫文件,它們都在目錄中,比如/home/data/folder1
。如何使用makefile從C中的其他目錄中包含靜態庫和.h文件?
我有另一個.c
文件,它將使用鏈接.h
頭文件和.a
庫文件。但是,.c
文件位於目錄/home/data/folder2
中。
我該怎麼寫Makefile(它也位於/home/data/folder2
)?另外,我是否應該在要編譯的.c
文件中包含myheader.h
?這是我到目前爲止,但沒有工作:
LIBB = -L/home/data/folder1/libmylib.a
HEADER = -L/home/data/folder2/myheader.h
main: main.o
gcc $(HEADER) $(LIBB) $< -o [email protected]
main.o: main.c
gcc -c main.c
.PHONY: clean
clean:
rm -f *.o *.~ a.out main
任何幫助將不勝感激,在此先感謝!
謝謝!但是呃......如果我的頭文件和庫位於同一個目錄中,而另一個文件位於另一個文件中,該怎麼辦?我應該做同樣的事情嗎?同時,是否必須在我的.c文件中編寫#include「myheader.h」?謝謝! – CTownsend
你*可能*必須添加'-I.'和'-L.',但是過程完全相同。但是'main'和'main.o'的規則都可以放棄'gcc'的行,它會做正確的事情。另外,是的,你*需要在'.c'文件中有一個適當的'#include'指令。 – greyfade