0

我最近才开始使用 Code Runner,由于某种原因它不会编译我的 C 程序。

错误如下:

Undefined symbols for architecture x86_64:
"_rush", referenced from:
  _main in main-f9aa06.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

主程序

#include <stdio.h>

int ft_putchar(char c);
void rush(int x, int y);

int main(void){
    int x, y;
    scanf("%i", &x);
    scanf("%i", &y);
    rush(x, y);
    return (0);
}

ftputchar.c

#include <unistd.h>

int ft_putchar(char c){
    write(1, &c, 1);
    return (0);
}

rush.c

int ft_putchar(char c);

void top_bottom(int n){
    int i = 0;
    ft_putchar('A');
    while(i < n - 2){
        ft_putchar('B');
        i++;
    }
    ft_putchar('C');
    ft_putchar('\n');
}

void rush(int x, int y){
    if(x > 1 && y > 1) {
        int j, i;
        j = 0;
        i = 0;
        top_bottom(x);
        while (i < y - 2) {
            ft_putchar('B');
            while (j < x - 2){
                ft_putchar(' ');
                j++;
            }
            j = 0;
            ft_putchar('B');
            ft_putchar('\n');
            i++;
        }
        top_bottom(x);
    }
    if(x < 1 || y < 1){
        return ;
    }
    if(x == 1 && y == 1){
        ft_putchar('A');
        ft_putchar('\n');
    }
    if(x > 1 && y == 1){
        top_bottom_03(x);
    }
    if(x == 1 && y > 1){
        int i = 0;
        ft_putchar('A');
        ft_putchar('\n');
        while(i < y - 2){
            ft_putchar('B');
            ft_putchar('\n');
            i++;
        }
        ft_putchar('A');
        ft_putchar('\n');
    }
}

代码运行器 v2.3

但是,当我使用 XCode 编译和运行代码时,它工作得非常好。

此外,如果我将所有内容都放入main.c文件,则代码将完美运行并编译。

4

0 回答 0