Hola, cuando compilo un programa con varios archivos individuales me da fallo en el main:
El error es este: ciclistas_main.c:(.text+0x127): undefined reference to `actualizar_tiempos'
collect2: ld devolvió el estado de salida 1
Código C:
Ver original#include "ciclistas.h"
int main(){
void crear_fich();
void actualizar_tiempos(FILE *);
void clasif_por_equipos(FILE *);
void ordenar_por_tiempo(FILE *);
void listar_por_tiempo(FILE *);
void listar_por_tiempo_y_equipos(FILE *);
int baja(FILE *);
void media_total(FILE *);
void listar_por_la_media_de_tiempo_cada_equipo(FILE *);
FILE * pf; /* Puntero al fichero */
char op;
if((pf
= fopen("tour_france.dat", "rb+")) == NULL
) {/* Abre el fichero para trabajar con él en Lectura / Escritura */ crear_fich();/* Si no existe, ejecuta el módulo que lo cree */
if((pf
= fopen("tour_france.dat", "rb+")) == NULL
) {/* Una vez creado lo habre en lectura/escritura */ perror("Fichero no accesible"); }
}
do {
printf("Elija opción:\na--> Crear el fichero del Tour\nb--> Actualizar tiempo\nc--> Clasificación por equipos\n"); printf("d--> Ordenar el fichero por tiempos\ne--> Listar por tiempos\nf--> Listar por tiempos y equipos\ng--> Dar de baja dorsales\n"); printf("h--> Media total de los equipos\ni--> Media de cada equipo\nj--> Salir\n");
do{
LEE_CAR(op);
}while((op < 'a') || (op > 'j'));
switch(op) {
case 'a': { crear_fich(pf);
if((pf
= fopen("tour_france.dat", "rb+")) == NULL
) {/* Una vez creado lo habre en lectura/escritura */ perror("Fichero no accesible"); }
break; }
case 'b': { actualizar_tiempos(pf); break; }
case 'c': { clasif_por_equipos(pf); break; }
case 'd': { ordenar_por_tiempo(pf); break; }
case 'e': { listar_por_tiempo(pf); break; }
case 'f': { listar_por_tiempo_y_equipos(pf); break; }
case 'g': { if(baja(pf) == 0) {
/* El borrado ha sido correcto y abre el fichero */
if((pf
= fopen("tour_france.dat", "rb+")) == NULL
) { perror("Fichero no accesible"); }
}
else {
printf("Error al eliminar un corredor, el fichero no se ha modificado, compruebe sus datos\n"); }
break; }
case 'h': { media_total(pf); break; }
case 'i':{listar_por_la_media_de_tiempo_cada_equipo(pf) ;break;}
} /* switch */
}while (op!= 'j');
printf("Error al cerrar el fichero, compruebe si ha perdido información\n"); } /* main() */
A ver si alguien me puede ayudar a encontrar el fallo. Gracias.