Ir ao conteúdo
  • Cadastre-se

C Erro ao compilar makefile em C: Undefined reference to"


DiogoTBr

Posts recomendados

Boa noite, estou fazendo um programa para meu curso e o programa deu erro ao ser compilado. Segue aí embaixo os arquivos:

 

introcomp_main.c

#include <stdio.h>

#include "banco.h"

int main(){

    int n;

    scanf("%d", &n);

    Cliente clientes[n]; 

    for(int i = 0; i < n; i++){

        cadastraCliente(clientes, i);

    }

    float media = 0;

    for(int i = 0; i < n; i++){

        media+=saldoCliente(clientes, i);

        imprimeSaldo(clientes, i);

    }

    printf("Media dos Salarios: %.2lf\n", media/(float)n);

    return 0;

}

 

banco.h

#ifndef BANCO_H
#define BANCO_H

typedef struct {
    char nome[51];
    char cidade[51];
    int conta;
    double saldo;

}Cliente;

     void cadastraCliente(Cliente clientes[],int i);
    
    int saldoCliente(Cliente clientes[], int i);
    
    void imprimeSaldo(Cliente clientes[],int i);
    
    
#endif

 

banco.c

#include <stdio.h>
#include "banco.h"

void cadastraClientes(Cliente clientes[], int i)
{
    scanf("%d %s %*c %s %lf", &clientes[i].conta, clientes[i].nome, clientes[i].cidade, &clientes[i].saldo);
}

int saldoCliente(Cliente clientes[], int i)
{
    int media=0;
    media=clientes[i].saldo;
    return media;
}

void imprimeSaldo(Cliente clientes[], int i)
{
    {
        printf("Cliente %s mora em %s e tem R$%lf na conta %d", clientes[i].nome, clientes[i].cidade, clientes[i].saldo, clientes[i].conta);
    }
}

 

 

makefile

 

all: compila executa
compila:
    gcc -c banco.c
    gcc -c introcomp_main.c
    gcc -o introcomp_main banco.o introcomp_main.o
    
executa:
    ./introcomp_main
limpa:
    rm *.o

 

erro no terminal

 

gcc -c banco.c
gcc -c introcomp_main.c
gcc -o introcomp_main banco.o introcomp_main.o
introcomp_main.o:introcomp_main.c:(.text+0xc2): undefined reference to `cadastraCliente'
collect2.exe: error: ld returned 1 exit status
make: *** [compila] Error 1

 

Alguém poderia dar um help aí? Obs: não estudamos ponteiros ainda, então por precaução tentem fazer de tudo pra não usar..

obrigado!

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...