私はこれが愚かだと確信していますが、このリンカエラー undefined reference to insert_record
はOperations.cppで実装され、mainで使われているOperations.hppで宣言された関数です。このメイクファイルで間違っています。 多分、休息した目のペアが問題を見つけることができます。 オブジェクトが作成されていても、操作はリンクされていないようです。リンクされたエラー/メイクファイル
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
更新: 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)
すべてがメインで細かいようです..
"このリンカエラーが発生しました" - どのリンカエラー? –
私のばかげて申し訳ありません:D。編集されました! –
トピックを外していますが...あなたのメイクファイルの依存関係はちょっと奇妙なようです。たとえば、 'HashTable.cn 'への依存性や' OBJS'で指定された他のファイルと同様に、 'HashTable.o'のさまざまなヘッダへの依存性を指定します。 –