Rocael 2020-10-26 23:59 采纳率: 0%
浏览 62

makefile gcc 文件编写 入门遇到的一个问题

问题描述

当我在执行我编写的一个makefile时,提示我Missing separator。




图片说明





这是我的makefile:



all: libmy.so
SRC = f1.c f2.c
TGT = $(SRC:.c=.o)
%.o: %.c
    gcc -c $<
libmy.so: $(TGT)
    gcc -O -fPIC -shared -o $@ $(TGT)
clean:
    rm -f $(TGT)



其中,f1.c 和 f2.c 都只存在一个简易的输出函数:



// f1.c
#include <stdio.h>
void f1(int arg){
    printf("F1: You passed: %d .\n", arg);
}

// f2.c
#include <stdio.h>
void f2(char* arg){
    printf("F2: You passed: %s .\n", arg);
}

故我认为问题的出现与该两个文件没有关系。



我想知道是否是我的makefile写错了,错在哪里,亦或者是其他的什么问题。



问题环境

gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)
Centos 8.2.2004



  • 写回答

1条回答 默认 最新

  • adgentleman 2020-10-27 10:34
    关注

    报错是说makefile的第5 line缺少-o选项
    gcc -c $< -o $@

    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记