【问题标题】:How to set input files with a Makefile? (C)如何使用 Makefile 设置输入文件? (C)
【发布时间】:2017-12-05 02:41:34
【问题描述】:

如果我有源代码文件main.clibrary.clibrary.h 等,我将如何将输入文本文件设置为像main input1.txt input2.txt 这样的控制台命令?这可以完全完成还是必须在编译后完成?

【问题讨论】:

    标签: c gcc makefile compilation


    【解决方案1】:
    program: main.c library.c  
         gcc -o program $<
    
    .PHONY: run
    run: program input1.txt input2.txt.  
         ./program input1.txt input2.txt
    

    基本上,您将它们视为运行程序的依赖项。在上面的示例中,make run 将运行程序并在需要时对其进行编译。

    【讨论】:

    • 我得到了Makefile:3: *** missing separator. Stop. 尽管将空格更改为制表符,我还有什么做错了吗?
    • 我认为它在 PHONY 之后需要一个冒号。我是从记忆中走出来的:)
    • program目标的配方中使用$@而不是program是一种常见的做法,这样如果目标的名称你不需要更改配方已更改(正如您已经对 $&lt; 所做的先决条件一样)。有关详细信息,请参阅gnu.org/software/make/manual/html_node/Automatic-Variables.html 中的可用自动变量
    • 我认为您在第一个食谱中实际上是指 $^ 而不是 $&lt;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    相关资源
    最近更新 更多