Unix 如何在Makefile中正确链接?

Unix 如何在Makefile中正确链接?,unix,linker,makefile,Unix,Linker,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 g

这是我的生成文件:

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非常陌生,因此非常感谢任何帮助编译器的
-c
选项告诉它只编译并生成
.o
文件。链接程序时,不希望使用
-c

既然你说你是UNIX新手,我要提到UNIX在系统中包含文档方面有着悠久的历史;可以使用
man
命令读取称为手册页的参考页。您可以在命令行上运行
mangcc
(或
manls
或其他任何程序),以获得如何使用程序的概要,以及(至少)最基本的选项和它们的功能。这不是深入的文档,但很方便。对于像编译器这样的复杂程序,通常还有其他可用的附加文档;手册页通常会告诉您如何访问它

而且,对于GCC和其他类似工具,也有在线文档