Citar
Description Resource Path Location Type
first defined here LinkedList.c /Examenes/src line 14 C/C++ Problem
first defined here LinkedList.c /Examenes/src line 18 C/C++ Problem
first defined here LinkedList.c /Examenes/src line 41 C/C++ Problem
multiple definition of `AnadirProceso' LinkedList.c /Examenes/src line 18 C/C++ Problem
multiple definition of `Crear' LinkedList.c /Examenes/src line 14 C/C++ Problem
multiple definition of `MostrarLista' LinkedList.c /Examenes/src line 41 C/C++ Problem
first defined here LinkedList.c /Examenes/src line 14 C/C++ Problem
first defined here LinkedList.c /Examenes/src line 18 C/C++ Problem
first defined here LinkedList.c /Examenes/src line 41 C/C++ Problem
multiple definition of `AnadirProceso' LinkedList.c /Examenes/src line 18 C/C++ Problem
multiple definition of `Crear' LinkedList.c /Examenes/src line 14 C/C++ Problem
multiple definition of `MostrarLista' LinkedList.c /Examenes/src line 41 C/C++ Problem
En un principio el fallo está claro. Pero por más que miro no veo ninguna redefinición. El código es de una Linked List Circular Os dejo aquí el header:
Código
#ifndef LINKEDLIST_H_ #define LINKEDLIST_H_ typedef struct Linked_List* LProc; struct Linked_List { unsigned valor; LProc sig; LProc ejecucion; }; //Crea una lista de procesos vacía. void Crear (LProc *lista); //Añade el proceso con identificador idproc a la lista de procesos disponibles para ejecución. //Este proceso se añade como nodo anterior al nodo al que apunta ejecución. void AnadirProceso (LProc *lista, int idproc); //Muestra la lista de los procesos que están disponibles para la ejecución. void MostrarLista( LProc lista); //Simula la ejecución del proceso apuntado por ejecución, eliminándolo de la lista de procesos. void EjecutarProceso(LProc *lista); #endif /* LINKEDLIST_H_*/
Aquí el .c
Código
#include <stdio.h> #include <stdlib.h> #include "LinkedList.h" void Crear (LProc *lista) { lista = NULL; } void AnadirProceso (LProc *lista, int idproc) { LProc* aux = lista; if(aux == NULL){ nuevo->valor = idproc; nuevo->sig = nuevo; nuevo->ejecucion = nuevo; } else { nuevo->valor = idproc; nuevo->sig = (*lista)->ejecucion; nuevo->ejecucion = (*lista)->ejecucion; while((*aux)->sig != *lista) (*aux) = (*aux)->sig; //Hacemos de aux el anterior a lista (*aux)->sig = nuevo; } } void MostrarLista( LProc lista) { LProc aux = lista; while(aux->sig!=lista) { } }
Y aquí el main:
Código
#include <stdio.h> #include <stdlib.h> #include "LinkedList.c" int main () { LProc list; Crear(&list); MostrarLista(list); AnadirProceso(&list, 3); AnadirProceso(&list, 8); AnadirProceso(&list, 1); AnadirProceso(&list, 14); AnadirProceso(&list, 0); MostrarLista(list); return 0; }
Espero que podais ayudarme. Uso Eclipse Luna con CDT y Mingw.
Muchas gracias