【问题标题】:How do I make a simple makefile for gcc on Linux [closed]如何在 Linux 上为 gcc 制作一个简单的 makefile [关闭]
【发布时间】:2018-05-14 12:00:12
【问题描述】:

我有两个文件:mycode.c 和 mycode.h

gcc -o mycode mycode.c pkg-config --cflags --libs libstrophe -lpthread 我需要在 Linux 上使用 gcc compile 和推荐行 gcc -o mycode mycode.c pkg-config --cflags --libs libstrophe -lpthread 编译它

【问题讨论】:

    标签: c gcc makefile


    【解决方案1】:

    Makefile 语法由几个模式组成

    {thing}{colon} {dependencies ...}
    <tab>{command}
    

    注意事项:

    • 确保您的命令生成您的 {thing}
    • 确保所有命令都以 TAB 开头
    • 确保所有依赖项都是磁盘上的文件,尽量使它们保持最新和完整
    • 每个命令都在自己的 shell 中运行
    • 空白行打破模式

    还有更多,但这会让你开始

    这是您请求的 Makefile

    mycode.o: mycode.c mycode.h
    <tab>gcc `pkg-config --cflags libstrophe` -c mycode.c
    
    mycode: mycode.o
    <tab>gcc -o mycode `pkg-config --cflags --libs libstrophe` -lpthread mycode.o
    

    请注意,您不要按字面意思输入&lt;tab&gt;,而是将其替换为制表符。

    【讨论】:

    • 我认为您在创建mycode 的命令上缺少一个结束反勾号。另外,我认为pkg-config --cflags libstrophe 需要我转移到mycode.o 的配方,因为这应该提供包含路径。我们可以将pkg-config --libs libstrophe 留在mycode 的配方中
    • @thurizas 谢谢!对此,我真的非常感激!希望我的更改包含您的建议而不会出现其他错误。
    猜你喜欢
    • 2010-12-01
    • 2011-01-29
    • 2011-01-19
    • 2017-06-30
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多