これが頭を悩ませています。
このリンクエラーがあります。
g++ -o node.o pathfinding.o prueba.o libmatrix.a -lm -lz -llog4cplus
Undefined symbols for architecture x86_64:
"operator<(Node const&, Node const&)", referenced from:
std::less<Node>::operator()(Node const&, Node const&) constin pathfinding.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: *** [path] Error 1
クラス Node のヘッダーで、クラス宣言から:
// Determine f_score in priority queue
//------------------------------------------
bool operator < (const Node &a, const Node &b);
// Determine f_score in priority queue
//------------------------------------------
bool operator > (const Node &a, const Node &b);
ソース ファイル (Node.cpp) には、次のメソッド宣言があります。
#include "node.hpp"
// Determine f_score in priority queue
//------------------------------------------
bool operator < (const Node &a, const Node &b)
{
return a.getf() > b.getf();
}
// Determine f_score in priority queue
//------------------------------------------
bool operator > (const Node &a, const Node &b)
{
return a.getf() < b.getf();
}
どこに問題があるかは誰にでもわかります。OSX の g++ バージョン 4.2.1 を使用しています。
前もって感謝します。