Mam poważny problem z moim kodem C, po prostu nie mogę go skompilować i naprawdę nie mogę zrozumieć dlaczego .C nie można skompilować - nie znaleziono symbolu dla architektury x86_64
Próbowałem badań online i nie mogę znaleźć rozwiązania tego problemu, czy masz jakiś pomysł?
Dziękujemy za poświęcony czas!
Undefined symbols for architecture x86_64:
"_Insert", referenced from:
_InsertNode in part1.o
(maybe you meant: _InsertNode)
"_Create", referenced from:
_findShortestPaths in part1.o
"_DeleteMin", referenced from:
_findShortestPaths in part1.o
"_decreaseKey", referenced from:
_findShortestPaths in part1.o
"_GetMin", referenced from:
_findShortestPaths in part1.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: *** [part1] Error 1
Snippits z part1.c
#include "limits.h"
#include "pegBinaryHeap.h"
void InsertNode(int distance, Node* node, PriorityQueue PQ) {
...
Insert(*item, PQ);
}
...
int* findShortestPaths(Graph *graph, int start) {
...
//Priority queue ordered by distance
PriorityQueue pq = Create(graph->MaxSize);
for(int i = 0; i < graph->MaxSize; i++) {
...
}
//While the queue isn't empty:
while((currentPqItem=GetMin(pq)) != NULL) {
...
DeleteMin(pq);
//for each node accesable from currentNode
List *currentNeighbour = currentNode.outlist;
while(currentNeighbour!=NULL) {
...
decreaseKey(currentNode.id, newDistance, pq);
} // end for
}// end while
}
int main(int argc,char *argv[])
{
Graph mygraph;
return 0;
}
i plik .h, który wydaje się być narzekających
#include "graph.h"
struct HeapStruct;
typedef struct HeapStruct *PriorityQueue;
typedef struct {
int distance;
Node *node;
} QueueType;
PriorityQueue Create(int MaxSize);
void Destroy(PriorityQueue H);
int Insert(QueueType Item, PriorityQueue H);
QueueType DeleteMin(PriorityQueue H);
QueueType* GetMin(PriorityQueue H);
void decreaseKey(int nodeId, int value, PriorityQueue H);
Gdzie znajduje się plik '.c' zawierający funkcje, na które narzeka (" Wstaw "," Utwórz "itp.)? –
W tym samym folderze "pegBinaryHeap.c " –
Proszę napisać polecenie, którego używasz do kompilacji kodu: –