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 $@

    评论

报告相同问题?