2013-03-09 56 views
1

一個makefile我只有一個文件:main.cpp中,我想創建,以便通過Unix運行它makefile .. 我想寫一個makefile,所以在我makefile我寫道:創建的Unix

#file: makefile 

a.out : main.o 
     g++ main.o -ansi -pedantic‬ 

main.o : main.cpp 
    g++ main.cpp -ansi -pedantic‬ 

clean : rm main.o a.out 

沒關係?我該如何運行它?

makefile 
a.out 
+2

運行'make a.out',雖然在編譯main.o時需要'-c'選項:'g ++ -c main.cpp中-ansi -pedantic' – juanchopanza 2013-03-09 17:36:03

+0

類似: #FILE:生成文件 的a.out:main.o 克++ main.o -ansi -pedantic main.o:main.cpp中 克++ -c main.cpp -ansi -pedantic clean:rm main.o a.out,對吧?謝謝! – 2013-03-09 17:37:00

+0

看起來沒錯。沒有'-c'標誌,'g ++'會嘗試編譯一個可執行文件,但是你想要一個共享對象(main.o)。另外,'make'需要選項卡,我認爲其中一個答案指出。 – juanchopanza 2013-03-09 17:39:39

回答

1

如果main.cpp是唯一的源文件,你可能甚至不需要一個Makefile。

$ rm Makefile 
$ make main 

Make有非常合理的默認規則。利用它們。 (上面的 可以使用一些Make的口味,但可能不是全部。)