【问题标题】:How to link properly in Makefile?如何在 Makefile 中正确链接?
【发布时间】:2013-05-09 09:57:24
【问题描述】:

这是我的生成文件:

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 新手,非常感谢任何帮助

【问题讨论】:

    标签: unix linker makefile


    【解决方案1】:

    编译器的-c 选项告诉它只编译并生成一个.o 文件。当您链接一个程序时,您确实想使用-c

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

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

    【讨论】:

      猜你喜欢
      • 2023-01-17
      • 1970-01-01
      • 2023-03-30
      • 2012-03-17
      • 1970-01-01
      • 2017-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多