私はC++を初めて使っていますので、エラーメッセージからどの情報を得ることができるかを理解しようとしています。ここで「アーキテクチャの未定義シンボル」エラーについて
エラーメッセージ
Undefined symbols for architecture x86_64: "PieceClothing::PieceClothing(int)", referenced from: ClothesInventory::getPieceOfClothing(long) in ClothesInventory.o ClothesInventory::insertIntocloset(std::basic_string, std::allocator >)in ClothesInventory.o "PieceClothing::PieceClothing()", referenced from: ClothesInventory::ClothesInventory()in ClothesInventory.o ClothesInventory::ClothesInventory(std::basic_string, std::allocator >)in ClothesInventory.o std::map, std::allocator > >::operator[](long const&)in ClothesInventory.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status
はここで私が理解されている。
- 2個のエラーがあります。
- getPieceOfClothingおよびinsertIntoclosetと関係があるもの。
- コンストラクタ内のその他のものは、おそらくマップやイテレータについてのものです。
メッセージの内容は、メッセージからちょうど得られるすべての情報を理解することが目的だからです。
ありがとうございました。
'for architecture' - あなたは一度に複数のアーキテクチャをリンクする可能性のあるツールチェーンを使って作業していますか? x64とPPCをリンクしているMac?私はそれが赤ちゃんだと思っています。それは 'PieceClothing'コンストラクタの実装を見つけることができないことを伝えているだけです。あなたは間違いなくそれらを実装していますか、それらを確実にリンクしていますか? – Rup