2013-12-14 154 views
-1

我讀了幾個關於這個問題的問題,但無法理解任何答案,所以我會再問一次。 我正在寫一個makefile。我需要使用位於子目錄中的c文件創建一些目標文件。然後使用這個對象文件在當前目錄中創建一個exe文件。我怎麼做?makefile與子目錄

沒關係,這是我已經試過

fansTest.o:map.h list.h fans.h mtm_ex2.h ./tests/fansTest.c

+1

爲什麼你不嘗試去做,然後在你的問題發佈嘗試並描述爲什麼它不起作用?然後我們可以幫助您解決問題。 SO用於回答特定的技術問題,不提供教程。關於軟件的最好的事情是嘗試一些東西,看看哪些是有效的,這就是你學習的方法。 – MadScientist

+0

檢查: http://stackoverflow.com/questions/231229/how-to-generate-a-makefile-with-source-in-sub-directories-using-just-one-makefil – JmRag

回答

0

只需使用相對路徑您文件。例如,如果你想編譯從子目錄目錄由source.c,使用類似:

gcc subdir/source.c 

,而不是

gcc source.c 

(顯然,這應該是每一個使用你正在reffering該文件的時間我省略了makefile語法的許多方面,但我希望它很清楚)

+0

將東西像這樣的工作:fansTest.o:map.h list.h fans.h mtm_ex2.h tests/fansTest.c – littlerunaway

+0

因爲我不知道你的目錄結構,我想這是正確的。但是,當你編譯它時,你必須使用像gcc tests/fansTest.c – Paul92

+0

如果我不寫gcc ......他使用默認值,這就是爲什麼我沒有把它放在這裏。好吧,「tets」是當前的一個子目錄 – littlerunaway