2013-05-09 118 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和其他类似的工具,还有在线文档。