2013-05-09 125 views
0

這是我的makefile:如何在Makefile中正確鏈接?

cpp2html: cpp2html.o lex.yy.o 
    gcc -c cpp2html.o lex.yy.o 

cpp2html.o: cpp2html.c 
    gcc -c cpp2html.c 

lex.yy.c: cppscanner.l 
    flex cppscanner.l 

lex.yy.o: lex.yy.c 
    gcc -c lex.yy.c 

當我嘗試運行它,我得到這個錯誤:

gcc -c cpp2html.o lex.yy.o 
gcc: warning: cpp2html.o: linker input file unused because linking not done 
gcc: warning: lex.yy.o: linker input file unused because linking not done 

我很熟悉Unix因此任何幫助是極大的讚賞

回答

2

-c編譯器選項告訴它只編譯並生成一個.o文件。當你連接一個程序,你做而不是想要使用-c

既然你說你是UNIX的新手,那麼我會提到UNIX在系統中包含文檔的悠久歷史;有參考頁手冊頁可以使用man命令讀取。您可以在命令行運行man gcc(或man ls或其他)來獲取如何使用程序以及(至少)最基本的選項以及它們的功能。這不是深入的文檔,但它很方便。對於像編譯器這樣的複雜程序,通常還有其他附加文檔可用;手冊頁通常會告訴你如何訪問它。

而且,對於GCC和其他類似的工具,還有在線文檔。