Ich bin sicher, dass dies dumm ist, aber ich diesen Linkerfehler undefined reference to insert_record
, die eine Funktion in Operations.hpp, implementiert in Operations.cpp und verwendete in Haupt-, und ich kann nicht finden, was erklärt ist, falsch in diesem Makefile. Vielleicht kann ein Paar ausgeruhte Augen das Problem erkennen. Es scheint, dass Operationen nicht verknüpft sind, obwohl das Objekt erstellt wird.verlinkte Fehler/Makefile
OBJS = main.o Operations.o CDR.o TBucketList.o RBucketList.o DateTime.o HashTable.o
CC = g++
CXXFLAGS = -W -Wall -Wno-unused -pedantic -c -g
LDFLAGS = -W -Wall -Wno-unused -pedantic -g
werhaus: $(OBJS)
$(CC) $(LDFLAGS) $(OBJS) -o werhaus
main.o : CDR.hpp Operations.hpp HashTable.hpp
$(CC) $(CXXFLAGS) main.cpp
Operations.o : Operations.hpp HashTable.hpp
$(CC) $(CXXFLAGS) Operations.cpp
TBucketList.o : TBucketList.hpp RBucketList.hpp
$(CC) $(CXXFLAGS) TBucketList.cpp
RBucketList.o : RBucketList.hpp
$(CC) $(CXXFLAGS) RBucketList.cpp
HashTable.o : HashTable.hpp TBucketList.hpp
$(CC) $(CXXFLAGS) HashTable.cpp
CDR.o : CDR.hpp DateTime.hpp
$(CC) $(CXXFLAGS) CDR.cpp
DateTime.o : DateTime.hpp
$(CC) $(CXXFLAGS) DateTime.cpp
clean:
\rm *.o werhaus
Update: main.cpp:
insert_record(originator_number, aCDR, destination_number, hashtable1, hashtable2, BucketSize);
Operations.hpp:
void insert_record(const char*, CDR*, const char*, const Hashtable*, const Hashtable*, int);
Operations.cpp:
void insert_record(const char* originator_number, CDR* aCDR, const char* destination_number, Hashtable* hashtable1, Hashtable* hashtable2, int Bsize)
Alles am feinen scheinen ..
"Ich bekomme diesen Linker Fehler" - welcher Linker Fehler? –
Entschuldigung für meine Dummheit: D. Edited! –
Off topic aber ... Ihre Makefile Abhängigkeiten scheinen ein bisschen seltsam. Zum Beispiel geben Sie die Abhängigkeit von HashTable.o von verschiedenen Headern an, aber nicht von ihrer Abhängigkeit von HashTable.cpp - und ebenso von den anderen in OBJS angegebenen Dateien. –