Thread: Undefined Reference Compiling Error

  1. #1
    Registered User
    Join Date
    Jun 2008
    Posts
    3

    Undefined Reference Compiling Error

    Hi all,

    I'm trying to compile a sample program, which calls upon some libraries I have installed.
    I assume it is some form of linking error however I'm not sure what I'm doing wrong.

    To compile I give the command:
    Code:
    g++ -I/home/students/csinnam/OGDF/ test.cpp -o test /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o
    I get the following massive error:
    Code:
    /tmp/cc47hGo8.o: In function `__static_initialization_and_destruction_0(int, int)':
    test.cpp:(.text+0x41): undefined reference to `OgdfInitialization::OgdfInitialization()'
    /tmp/cc47hGo8.o: In function `__tcf_1':
    test.cpp:(.text+0x84): undefined reference to `OgdfInitialization::~OgdfInitialization()'
    /tmp/cc47hGo8.o: In function `main':
    test.cpp:(.text+0xb6): undefined reference to `ogdf::Graph::Graph()'
    test.cpp:(.text+0xce): undefined reference to `ogdf::GraphAttributes::GraphAttributes(ogdf::Graph const&, long)'
    test.cpp:(.text+0xdf): undefined reference to `ogdf::Graph::readGML(char const*)'
    test.cpp:(.text+0x200): undefined reference to `ogdf::String::String(char const*)'
    test.cpp:(.text+0x210): undefined reference to `ogdf::GraphAttributes::writeGML(ogdf::String const&) const'
    test.cpp:(.text+0x219): undefined reference to `ogdf::String::~String()'
    test.cpp:(.text+0x232): undefined reference to `ogdf::String::~String()'
    test.cpp:(.text+0x2b1): undefined reference to `ogdf::Graph::~Graph()'
    test.cpp:(.text+0x2d9): undefined reference to `ogdf::Graph::~Graph()'
    /tmp/cc47hGo8.o: In function `ogdf::NodeArray<double>::operator delete(void*, unsigned long)':
    test.cpp:(.text._ZN4ogdf9NodeArrayIdEdlEPvm[ogdf::NodeArray<double>::operator delete(void*, unsigned long)]+0x24): undefined reference to `ogdf::g_memory'
    /tmp/cc47hGo8.o: In function `ogdf::EdgeArray<unsigned int>::operator delete(void*, unsigned long)':
    test.cpp:(.text._ZN4ogdf9EdgeArrayIjEdlEPvm[ogdf::EdgeArray<unsigned int>::operator delete(void*, unsigned long)]+0x24): undefined reference to `ogdf::g_memory'
    /tmp/cc47hGo8.o: In function `ogdf::EdgeArray<int>::operator delete(void*, unsigned long)':
    test.cpp:(.text._ZN4ogdf9EdgeArrayIiEdlEPvm[ogdf::EdgeArray<int>::operator delete(void*, unsigned long)]+0x24): undefined reference to `ogdf::g_memory'
    /tmp/cc47hGo8.o: In function `ogdf::EdgeArray<ogdf::Graph::EdgeType>::operator delete(void*, unsigned long)':
    test.cpp:(.text._ZN4ogdf9EdgeArrayINS_5Graph8EdgeTypeEEdlEPvm[ogdf::EdgeArray<ogdf::Graph::EdgeType>::operator delete(void*, unsigned long)]+0x24): undefined reference to `ogdf::g_memory'
    /tmp/cc47hGo8.o: In function `ogdf::EdgeArray<double>::operator delete(void*, unsigned long)':
    test.cpp:(.text._ZN4ogdf9EdgeArrayIdEdlEPvm[ogdf::EdgeArray<double>::operator delete(void*, unsigned long)]+0x24): undefined reference to `ogdf::g_memory'
    /tmp/cc47hGo8.o:test.cpp:(.text._ZN4ogdf9EdgeArrayINS_15GraphAttributes9EdgeStyleEEdlEPvm[ogdf::EdgeArray<ogdf::GraphAttributes::EdgeStyle>::operator delete(void*, unsigned long)]+0x24): more undefined references to `ogdf::g_memory' follow
    /tmp/cc47hGo8.o: In function `ogdf::Array<ogdf::String, int>::deconstruct()':
    test.cpp:(.text._ZN4ogdf5ArrayINS_6StringEiE11deconstructEv[ogdf::Array<ogdf::String, int>::deconstruct()]+0x2d): undefined reference to `ogdf::String::~String()'
    /tmp/cc47hGo8.o: In function `ogdf::EdgeArray<ogdf::String>::operator delete(void*, unsigned long)':
    test.cpp:(.text._ZN4ogdf9EdgeArrayINS_6StringEEdlEPvm[ogdf::EdgeArray<ogdf::String>::operator delete(void*, unsigned long)]+0x24): undefined reference to `ogdf::g_memory'
    /tmp/cc47hGo8.o: In function `ogdf::ListElement<ogdf::DPoint>::operator delete(void*, unsigned long)':
    test.cpp:(.text._ZN4ogdf11ListElementINS_6DPointEEdlEPvm[ogdf::ListElement<ogdf::DPoint>::operator delete(void*, unsigned long)]+0x24): undefined reference to `ogdf::g_memory'
    /tmp/cc47hGo8.o: In function `ogdf::EdgeArray<ogdf::DPolyline>::operator delete(void*, unsigned long)':
    test.cpp:(.text._ZN4ogdf9EdgeArrayINS_9DPolylineEEdlEPvm[ogdf::EdgeArray<ogdf::DPolyline>::operator delete(void*, unsigned long)]+0x24): undefined reference to `ogdf::g_memory'
    /tmp/cc47hGo8.o: In function `ogdf::NodeArray<ogdf::Graph::NodeType>::operator delete(void*, unsigned long)':
    test.cpp:(.text._ZN4ogdf9NodeArrayINS_5Graph8NodeTypeEEdlEPvm[ogdf::NodeArray<ogdf::Graph::NodeType>::operator delete(void*, unsigned long)]+0x24): undefined reference to `ogdf::g_memory'
    /tmp/cc47hGo8.o: In function `ogdf::NodeArray<ogdf::GraphAttributes::EdgeStyle>::operator delete(void*, unsigned long)':
    test.cpp:(.text._ZN4ogdf9NodeArrayINS_15GraphAttributes9EdgeStyleEEdlEPvm[ogdf::NodeArray<ogdf::GraphAttributes::EdgeStyle>::operator delete(void*, unsigned long)]+0x24): undefined reference to `ogdf::g_memory'
    /tmp/cc47hGo8.o:test.cpp:(.text._ZN4ogdf9NodeArrayINS_15GraphAttributes12BrushPatternEEdlEPvm[ogdf::NodeArray<ogdf::GraphAttributes::BrushPattern>::operator delete(void*, unsigned long)]+0x24): more undefined references to `ogdf::g_memory' follow
    /tmp/cc47hGo8.o: In function `ogdf::NodeArrayBase::~NodeArrayBase()':
    test.cpp:(.text._ZN4ogdf13NodeArrayBaseD2Ev[ogdf::NodeArrayBase::~NodeArrayBase()]+0x43): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    /tmp/cc47hGo8.o: In function `ogdf::FMMMLayout::~FMMMLayout()':
    test.cpp:(.text._ZN4ogdf10FMMMLayoutD1Ev[ogdf::FMMMLayout::~FMMMLayout()]+0x25): undefined reference to `ogdf::NMM::~NMM()'
    test.cpp:(.text._ZN4ogdf10FMMMLayoutD1Ev[ogdf::FMMMLayout::~FMMMLayout()]+0x3c): undefined reference to `ogdf::FruchtermanReingold::~FruchtermanReingold()'
    test.cpp:(.text._ZN4ogdf10FMMMLayoutD1Ev[ogdf::FMMMLayout::~FMMMLayout()]+0x5d): undefined reference to `ogdf::FruchtermanReingold::~FruchtermanReingold()'
    /tmp/cc47hGo8.o: In function `ogdf::NodeArray<ogdf::String>::~NodeArray()':
    test.cpp:(.text._ZN4ogdf9NodeArrayINS_6StringEED1Ev[ogdf::NodeArray<ogdf::String>::~NodeArray()]+0x22): undefined reference to `ogdf::String::~String()'
    /tmp/cc47hGo8.o: In function `ogdf::NodeArray<ogdf::String>::~NodeArray()':
    test.cpp:(.text._ZN4ogdf9NodeArrayINS_6StringEED0Ev[ogdf::NodeArray<ogdf::String>::~NodeArray()]+0x22): undefined reference to `ogdf::String::~String()'
    /tmp/cc47hGo8.o: In function `ogdf::NodeArrayBase::~NodeArrayBase()':
    test.cpp:(.text._ZN4ogdf13NodeArrayBaseD0Ev[ogdf::NodeArrayBase::~NodeArrayBase()]+0x43): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    /tmp/cc47hGo8.o: In function `ogdf::NodeArrayBase::~NodeArrayBase()':
    test.cpp:(.text._ZN4ogdf13NodeArrayBaseD1Ev[ogdf::NodeArrayBase::~NodeArrayBase()]+0x43): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    /tmp/cc47hGo8.o: In function `ogdf::EdgeArrayBase::~EdgeArrayBase()':
    test.cpp:(.text._ZN4ogdf13EdgeArrayBaseD2Ev[ogdf::EdgeArrayBase::~EdgeArrayBase()]+0x43): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    /tmp/cc47hGo8.o: In function `ogdf::EdgeArray<ogdf::String>::~EdgeArray()':
    test.cpp:(.text._ZN4ogdf9EdgeArrayINS_6StringEED1Ev[ogdf::EdgeArray<ogdf::String>::~EdgeArray()]+0x22): undefined reference to `ogdf::String::~String()'
    /tmp/cc47hGo8.o: In function `ogdf::EdgeArray<ogdf::String>::~EdgeArray()':
    test.cpp:(.text._ZN4ogdf9EdgeArrayINS_6StringEED0Ev[ogdf::EdgeArray<ogdf::String>::~EdgeArray()]+0x22): undefined reference to `ogdf::String::~String()'
    /tmp/cc47hGo8.o: In function `ogdf::EdgeArrayBase::~EdgeArrayBase()':
    test.cpp:(.text._ZN4ogdf13EdgeArrayBaseD0Ev[ogdf::EdgeArrayBase::~EdgeArrayBase()]+0x43): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    /tmp/cc47hGo8.o: In function `ogdf::EdgeArrayBase::~EdgeArrayBase()':
    test.cpp:(.text._ZN4ogdf13EdgeArrayBaseD1Ev[ogdf::EdgeArrayBase::~EdgeArrayBase()]+0x43): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    /tmp/cc47hGo8.o: In function `ogdf::Array<ogdf::String, int>::initialize()':
    test.cpp:(.text._ZN4ogdf5ArrayINS_6StringEiE10initializeEv[ogdf::Array<ogdf::String, int>::initialize()]+0x2d): undefined reference to `ogdf::String::String()'
    test.cpp:(.text._ZN4ogdf5ArrayINS_6StringEiE10initializeEv[ogdf::Array<ogdf::String, int>::initialize()]+0x5a): undefined reference to `ogdf::String::~String()'
    /tmp/cc47hGo8.o: In function `ogdf::Array<ogdf::String, int>::initialize(ogdf::String const&)':
    test.cpp:(.text._ZN4ogdf5ArrayINS_6StringEiE10initializeERKS1_[ogdf::Array<ogdf::String, int>::initialize(ogdf::String const&)]+0x35): undefined reference to `ogdf::String::String(ogdf::String const&)'
    test.cpp:(.text._ZN4ogdf5ArrayINS_6StringEiE10initializeERKS1_[ogdf::Array<ogdf::String, int>::initialize(ogdf::String const&)]+0x62): undefined reference to `ogdf::String::~String()'
    /tmp/cc47hGo8.o: In function `ogdf::Array<ogdf::String, int>::grow(int, ogdf::String const&)':
    test.cpp:(.text._ZN4ogdf5ArrayINS_6StringEiE4growEiRKS1_[ogdf::Array<ogdf::String, int>::grow(int, ogdf::String const&)]+0xcb): undefined reference to `ogdf::String::String(ogdf::String const&)'
    /tmp/cc47hGo8.o: In function `ogdf::ListElement<ogdf::DPoint>::operator new(unsigned long)':
    test.cpp:(.text._ZN4ogdf11ListElementINS_6DPointEEnwEm[ogdf::ListElement<ogdf::DPoint>::operator new(unsigned long)]+0x1a): undefined reference to `ogdf::g_memory'
    test.cpp:(.text._ZN4ogdf11ListElementINS_6DPointEEnwEm[ogdf::ListElement<ogdf::DPoint>::operator new(unsigned long)]+0x3f): undefined reference to `ogdf::g_memory'
    test.cpp:(.text._ZN4ogdf11ListElementINS_6DPointEEnwEm[ogdf::ListElement<ogdf::DPoint>::operator new(unsigned long)]+0x44): undefined reference to `ogdf::MemoryManager::allocateBlock(unsigned long)'
    /tmp/cc47hGo8.o: In function `ogdf::ListPure<ogdf::DPoint>::clear()':
    test.cpp:(.text._ZN4ogdf8ListPureINS_6DPointEE5clearEv[ogdf::ListPure<ogdf::DPoint>::clear()]+0x67): undefined reference to `ogdf::g_memory'
    test.cpp:(.text._ZN4ogdf8ListPureINS_6DPointEE5clearEv[ogdf::ListPure<ogdf::DPoint>::clear()]+0x6c): undefined reference to `ogdf::MemoryManager::deallocateList(void*, void*, int)'
    /tmp/cc47hGo8.o: In function `ogdf::GraphAttributes::~GraphAttributes()':
    test.cpp:(.text._ZN4ogdf15GraphAttributesD1Ev[ogdf::GraphAttributes::~GraphAttributes()]+0x11): undefined reference to `vtable for ogdf::GraphAttributes'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `__static_initialization_and_destruction_0(int, int)':
    FMMMLayout.cpp:(.text+0x453): undefined reference to `OgdfInitialization::OgdfInitialization()'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `__tcf_1':
    FMMMLayout.cpp:(.text+0x492): undefined reference to `OgdfInitialization::~OgdfInitialization()'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::FMMMLayout::update_boxlength_and_cornercoordinate(ogdf::Graph&, ogdf::NodeArray<ogdf::NodeAttributes>&)':
    FMMMLayout.cpp:(.text+0x89b): undefined reference to `ogdf::NMM::update_boxlength_and_cornercoordinate(double, ogdf::DPoint)'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::FMMMLayout::make_positions_integer(ogdf::Graph&, ogdf::NodeArray<ogdf::NodeAttributes>&)':
    FMMMLayout.cpp:(.text+0xa46): undefined reference to `ogdf::DLine::intersection(ogdf::DLine const&, ogdf::DPoint&, bool) const'
    FMMMLayout.cpp:(.text+0xa9d): undefined reference to `ogdf::DLine::intersection(ogdf::DLine const&, ogdf::DPoint&, bool) const'
    FMMMLayout.cpp:(.text+0xaf4): undefined reference to `ogdf::DLine::intersection(ogdf::DLine const&, ogdf::DPoint&, bool) const'
    FMMMLayout.cpp:(.text+0xb48): undefined reference to `ogdf::DLine::intersection(ogdf::DLine const&, ogdf::DPoint&, bool) const'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::FMMMLayout::add_attr_rep_forces(ogdf::Graph&, ogdf::NodeArray<ogdf::DPoint>&, ogdf::NodeArray<ogdf::DPoint>&, ogdf::NodeArray<ogdf::DPoint>&, int, int)':
    FMMMLayout.cpp:(.text+0xd00): undefined reference to `ogdf::numexcept::numexcept()'
    FMMMLayout.cpp:(.text+0xf66): undefined reference to `ogdf::numexcept::f_near_machine_precision(double, ogdf::DPoint&)'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::FMMMLayout::adapt_drawing_to_ideal_average_edgelength(ogdf::Graph&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::EdgeArray<ogdf::EdgeAttributes>&)':
    FMMMLayout.cpp:(.text+0x1180): undefined reference to `ogdf::DPoint::operator-(ogdf::DPoint const&) const'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::FMMMLayout::create_maximum_connected_subGraphs(ogdf::Graph&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::EdgeArray<ogdf::EdgeAttributes>&, ogdf::Graph*, ogdf::NodeArray<ogdf::NodeAttributes>*, ogdf::EdgeArray<ogdf::EdgeAttributes>*, ogdf::NodeArray<int>&)':
    FMMMLayout.cpp:(.text+0x1be9): undefined reference to `ogdf::Graph::newNode()'
    FMMMLayout.cpp:(.text+0x1c72): undefined reference to `ogdf::Graph::newEdge(ogdf::NodeElement*, ogdf::NodeElement*)'
    FMMMLayout.cpp:(.text+0x1d0f): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x1d28): undefined reference to `ogdf::Graph::registerArray(ogdf::NodeArrayBase*) const'
    FMMMLayout.cpp:(.text+0x1d83): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x1d9c): undefined reference to `ogdf::Graph::registerArray(ogdf::EdgeArrayBase*) const'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::FMMMLayout::calculate_attractive_forces(ogdf::Graph&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::EdgeArray<ogdf::EdgeAttributes>&, ogdf::NodeArray<ogdf::DPoint>&)':
    FMMMLayout.cpp:(.text+0x20dc): undefined reference to `ogdf::numexcept::numexcept()'
    FMMMLayout.cpp:(.text+0x2197): undefined reference to `ogdf::DPoint::operator-(ogdf::DPoint const&) const'
    FMMMLayout.cpp:(.text+0x2229): undefined reference to `ogdf::numexcept::f_near_machine_precision(double, ogdf::DPoint&)'
    FMMMLayout.cpp:(.text+0x2292): undefined reference to `ogdf::DPoint::operator-(ogdf::DPoint const&) const'
    FMMMLayout.cpp:(.text+0x22d1): undefined reference to `ogdf::DPoint::operator+(ogdf::DPoint const&) const'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::FMMMLayout::rotate_components_and_calculate_bounding_rectangles(ogdf::List<ogdf::Rectangle>&, ogdf::Graph*, ogdf::NodeArray<ogdf::NodeAttributes>*)':
    FMMMLayout.cpp:(.text+0x23c7): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text+0x23cc): undefined reference to `ogdf::MemoryManager::deallocateList(void*, void*, int)'
    FMMMLayout.cpp:(.text+0x25af): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x25d3): undefined reference to `ogdf::Graph::registerArray(ogdf::NodeArrayBase*) const'
    FMMMLayout.cpp:(.text+0x264f): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x2675): undefined reference to `ogdf::Graph::registerArray(ogdf::NodeArrayBase*) const'
    FMMMLayout.cpp:(.text+0x2bf2): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text+0x2c09): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text+0x2c0e): undefined reference to `ogdf::MemoryManager::allocateBlock(unsigned long)'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::FMMMLayout::delete_parallel_edges(ogdf::Graph const&, ogdf::EdgeArray<ogdf::EdgeAttributes>&, ogdf::Graph&, ogdf::List<ogdf::EdgeElement*>&, ogdf::EdgeArray<double>&)':
    FMMMLayout.cpp:(.text+0x2de7): undefined reference to `ogdf::Graph::registerArray(ogdf::EdgeArrayBase*) const'
    FMMMLayout.cpp:(.text+0x2e79): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text+0x2e90): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text+0x2e95): undefined reference to `ogdf::MemoryManager::allocateBlock(unsigned long)'
    FMMMLayout.cpp:(.text+0x2fa2): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text+0x2fba): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text+0x2fbf): undefined reference to `ogdf::MemoryManager::allocateBlock(unsigned long)'
    FMMMLayout.cpp:(.text+0x30b8): undefined reference to `ogdf::Graph::delEdge(ogdf::EdgeElement*)'
    FMMMLayout.cpp:(.text+0x3163): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x31ae): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x320e): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text+0x3213): undefined reference to `ogdf::MemoryManager::deallocateList(void*, void*, int)'
    FMMMLayout.cpp:(.text+0x323d): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text+0x3242): undefined reference to `ogdf::MemoryManager::deallocateList(void*, void*, int)'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::FMMMLayout::make_simple_loopfree(ogdf::Graph const&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::EdgeArray<ogdf::EdgeAttributes>, ogdf::Graph&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::EdgeArray<ogdf::EdgeAttributes>&)':
    FMMMLayout.cpp:(.text+0x3d14): undefined reference to `ogdf::Graph::clear()'
    FMMMLayout.cpp:(.text+0x3d2d): undefined reference to `ogdf::Graph::newNode()'
    FMMMLayout.cpp:(.text+0x3d99): undefined reference to `ogdf::Graph::newEdge(ogdf::NodeElement*, ogdf::NodeElement*)'
    FMMMLayout.cpp:(.text+0x3e1a): undefined reference to `ogdf::Graph::registerArray(ogdf::EdgeArrayBase*) const'
    FMMMLayout.cpp:(.text+0x3ed6): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x3ef2): undefined reference to `ogdf::Graph::registerArray(ogdf::NodeArrayBase*) const'
    FMMMLayout.cpp:(.text+0x3f61): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x3f7d): undefined reference to `ogdf::Graph::registerArray(ogdf::EdgeArrayBase*) const'
    FMMMLayout.cpp:(.text+0x408b): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text+0x4113): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text+0x4118): undefined reference to `ogdf::MemoryManager::deallocateList(void*, void*, int)'
    FMMMLayout.cpp:(.text+0x4149): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text+0x414e): undefined reference to `ogdf::MemoryManager::deallocateList(void*, void*, int)'
    FMMMLayout.cpp:(.text+0x4195): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x41ec): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::FMMMLayout::FMMMLayout()':
    FMMMLayout.cpp:(.text+0x429a): undefined reference to `ogdf::FruchtermanReingold::FruchtermanReingold()'
    FMMMLayout.cpp:(.text+0x42a6): undefined reference to `ogdf::NMM::NMM()'
    FMMMLayout.cpp:(.text+0x42d2): undefined reference to `ogdf::FruchtermanReingold::~FruchtermanReingold()'
    FMMMLayout.cpp:(.text+0x42fd): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::FMMMLayout::FMMMLayout()':
    FMMMLayout.cpp:(.text+0x43a8): undefined reference to `ogdf::FruchtermanReingold::FruchtermanReingold()'
    FMMMLayout.cpp:(.text+0x43b4): undefined reference to `ogdf::NMM::NMM()'
    FMMMLayout.cpp:(.text+0x43e0): undefined reference to `ogdf::FruchtermanReingold::~FruchtermanReingold()'
    FMMMLayout.cpp:(.text+0x440b): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::FMMMLayout::call_FORCE_CALCULATION_step(ogdf::Graph&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::EdgeArray<ogdf::EdgeAttributes>&, int, int)':
    FMMMLayout.cpp:(.text+0x45f3): undefined reference to `ogdf::Graph::registerArray(ogdf::NodeArrayBase*) const'
    FMMMLayout.cpp:(.text+0x469b): undefined reference to `ogdf::Graph::registerArray(ogdf::NodeArrayBase*) const'
    FMMMLayout.cpp:(.text+0x4740): undefined reference to `ogdf::Graph::registerArray(ogdf::NodeArrayBase*) const'
    FMMMLayout.cpp:(.text+0x47dc): undefined reference to `ogdf::Graph::registerArray(ogdf::NodeArrayBase*) const'
    FMMMLayout.cpp:(.text+0x48dc): undefined reference to `ogdf::FruchtermanReingold::make_initialisations(ogdf::Graph const&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::NodeArray<ogdf::DPoint>&, double, ogdf::DPoint, int)'
    FMMMLayout.cpp:(.text+0x4933): undefined reference to `ogdf::FruchtermanReingold::make_initialisations(ogdf::Graph const&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::NodeArray<ogdf::DPoint>&, double, ogdf::DPoint, int)'
    FMMMLayout.cpp:(.text+0x49b1): undefined reference to `ogdf::NMM::make_initialisations(ogdf::Graph const&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::NodeArray<ogdf::DPoint>&, double, ogdf::DPoint, int, int, int, int)'
    FMMMLayout.cpp:(.text+0x49fe): undefined reference to `ogdf::FruchtermanReingold::calculate_exact_repulsive_forces(ogdf::Graph const&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::NodeArray<ogdf::DPoint>&)'
    FMMMLayout.cpp:(.text+0x4a1f): undefined reference to `ogdf::FruchtermanReingold::calculate_approx_repulsive_forces(ogdf::Graph const&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::NodeArray<ogdf::DPoint>&)'
    FMMMLayout.cpp:(.text+0x4a3b): undefined reference to `ogdf::NMM::calculate_repulsive_forces(ogdf::Graph const&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::NodeArray<ogdf::DPoint>&)'
    FMMMLayout.cpp:(.text+0x4aea): undefined reference to `ogdf::DPoint::operator+(ogdf::DPoint const&) const'
    FMMMLayout.cpp:(.text+0x4c78): undefined reference to `ogdf::FruchtermanReingold::calculate_exact_repulsive_forces(ogdf::Graph const&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::NodeArray<ogdf::DPoint>&)'
    FMMMLayout.cpp:(.text+0x4c97): undefined reference to `ogdf::FruchtermanReingold::calculate_approx_repulsive_forces(ogdf::Graph const&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::NodeArray<ogdf::DPoint>&)'
    FMMMLayout.cpp:(.text+0x4cb1): undefined reference to `ogdf::NMM::calculate_repulsive_forces(ogdf::Graph const&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::NodeArray<ogdf::DPoint>&)'
    FMMMLayout.cpp:(.text+0x4d62): undefined reference to `ogdf::DPoint::operator+(ogdf::DPoint const&) const'
    FMMMLayout.cpp:(.text+0x4e61): undefined reference to `ogdf::FruchtermanReingold::calculate_exact_repulsive_forces(ogdf::Graph const&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::NodeArray<ogdf::DPoint>&)'
    FMMMLayout.cpp:(.text+0x4e80): undefined reference to `ogdf::FruchtermanReingold::calculate_approx_repulsive_forces(ogdf::Graph const&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::NodeArray<ogdf::DPoint>&)'
    FMMMLayout.cpp:(.text+0x4e9a): undefined reference to `ogdf::NMM::calculate_repulsive_forces(ogdf::Graph const&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::NodeArray<ogdf::DPoint>&)'
    FMMMLayout.cpp:(.text+0x4f4b): undefined reference to `ogdf::DPoint::operator+(ogdf::DPoint const&) const'
    FMMMLayout.cpp:(.text+0x4fd7): undefined reference to `ogdf::NMM::deallocate_memory()'
    FMMMLayout.cpp:(.text+0x5012): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x506c): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x50ed): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x512b): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x51ac): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o:FMMMLayout.cpp:(.text+0x51ea): more undefined references to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const' follow
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::FMMMLayout::call_MULTILEVEL_step_for_subGraph(ogdf::Graph&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::EdgeArray<ogdf::EdgeAttributes>&, int)':
    FMMMLayout.cpp:(.text+0x5330): undefined reference to `ogdf::Multilevel::Multilevel()'
    FMMMLayout.cpp:(.text+0x53ee): undefined reference to `ogdf::Multilevel::create_multilevel_representations(ogdf::Graph&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::EdgeArray<ogdf::EdgeAttributes>&, int, int, int, int, ogdf::Array<ogdf::Graph*, int>&, ogdf::Array<ogdf::NodeArray<ogdf::NodeAttributes>*, int>&, ogdf::Array<ogdf::EdgeArray<ogdf::EdgeAttributes>*, int>&, int&)'
    FMMMLayout.cpp:(.text+0x545f): undefined reference to `ogdf::Multilevel::find_initial_placement_for_level(int, int, ogdf::Array<ogdf::Graph*, int>&, ogdf::Array<ogdf::NodeArray<ogdf::NodeAttributes>*, int>&, ogdf::Array<ogdf::EdgeArray<ogdf::EdgeAttributes>*, int>&)'
    FMMMLayout.cpp:(.text+0x54e4): undefined reference to `ogdf::Multilevel::delete_multilevel_representations(ogdf::Array<ogdf::Graph*, int>&, ogdf::Array<ogdf::NodeArray<ogdf::NodeAttributes>*, int>&, ogdf::Array<ogdf::EdgeArray<ogdf::EdgeAttributes>*, int>&, int)'
    FMMMLayout.cpp:(.text+0x554f): undefined reference to `ogdf::Multilevel::~Multilevel()'
    FMMMLayout.cpp:(.text+0x555e): undefined reference to `ogdf::Multilevel::~Multilevel()'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::FMMMLayout::call_DIVIDE_ET_IMPERA_step(ogdf::Graph&, ogdf::NodeArray<ogdf::NodeAttributes>&, ogdf::EdgeArray<ogdf::EdgeAttributes>&)':
    FMMMLayout.cpp:(.text+0x55f9): undefined reference to `ogdf::Graph::registerArray(ogdf::NodeArrayBase*) const'
    FMMMLayout.cpp:(.text+0x5620): undefined reference to `ogdf::connectedComponents(ogdf::Graph const&, ogdf::NodeArray<int>&)'
    FMMMLayout.cpp:(.text+0x5691): undefined reference to `ogdf::Graph::Graph()'
    FMMMLayout.cpp:(.text+0x5771): undefined reference to `ogdf::NodeAttributes::NodeAttributes()'
    FMMMLayout.cpp:(.text+0x57a1): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x5892): undefined reference to `ogdf::EdgeAttributes::EdgeAttributes()'
    FMMMLayout.cpp:(.text+0x58c2): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x59e4): undefined reference to `ogdf::MAARPacking::MAARPacking()'
    FMMMLayout.cpp:(.text+0x5abb): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text+0x5ad2): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text+0x5ad7): undefined reference to `ogdf::MemoryManager::allocateBlock(unsigned long)'
    FMMMLayout.cpp:(.text+0x5be0): undefined reference to `ogdf::MAARPacking::pack_rectangles_using_Best_Fit_strategy(ogdf::List<ogdf::Rectangle>&, double, int, int, double&, double&)'
    FMMMLayout.cpp:(.text+0x5d5e): undefined reference to `ogdf::DPoint::operator+(ogdf::DPoint const&) const'
    FMMMLayout.cpp:(.text+0x5d71): undefined reference to `ogdf::DPoint::operator-(ogdf::DPoint const&) const'
    FMMMLayout.cpp:(.text+0x5e15): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text+0x5e1a): undefined reference to `ogdf::MemoryManager::deallocateList(void*, void*, int)'
    FMMMLayout.cpp:(.text+0x5e5c): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text+0x5e61): undefined reference to `ogdf::MemoryManager::deallocateList(void*, void*, int)'
    FMMMLayout.cpp:(.text+0x5e82): undefined reference to `ogdf::MAARPacking::~MAARPacking()'
    FMMMLayout.cpp:(.text+0x5e94): undefined reference to `ogdf::MAARPacking::~MAARPacking()'
    FMMMLayout.cpp:(.text+0x5fbc): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x6025): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::FMMMLayout::call(ogdf::GraphAttributes&, ogdf::EdgeArray<double> const&)':
    FMMMLayout.cpp:(.text+0x60d6): undefined reference to `ogdf::Graph::registerArray(ogdf::NodeArrayBase*) const'
    FMMMLayout.cpp:(.text+0x60fc): undefined reference to `ogdf::NodeAttributes::NodeAttributes()'
    FMMMLayout.cpp:(.text+0x613d): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x61b3): undefined reference to `ogdf::Graph::registerArray(ogdf::EdgeArrayBase*) const'
    FMMMLayout.cpp:(.text+0x61d9): undefined reference to `ogdf::EdgeAttributes::EdgeAttributes()'
    FMMMLayout.cpp:(.text+0x621a): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x623e): undefined reference to `ogdf::Graph::Graph()'
    FMMMLayout.cpp:(.text+0x6286): undefined reference to `ogdf::EdgeAttributes::EdgeAttributes()'
    FMMMLayout.cpp:(.text+0x62c7): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x6315): undefined reference to `ogdf::NodeAttributes::NodeAttributes()'
    FMMMLayout.cpp:(.text+0x634a): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x6371): undefined reference to `ogdf::GraphAttributes::clearAllBends()'
    FMMMLayout.cpp:(.text+0x6470): undefined reference to `ogdf::usedTime(double&)'
    FMMMLayout.cpp:(.text+0x652d): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x6549): undefined reference to `ogdf::Graph::registerArray(ogdf::NodeArrayBase*) const'
    FMMMLayout.cpp:(.text+0x665e): undefined reference to `ogdf::Graph::registerArray(ogdf::EdgeArrayBase*) const'
    FMMMLayout.cpp:(.text+0x6767): undefined reference to `ogdf::usedTime(double&)'
    FMMMLayout.cpp:(.text+0x682b): undefined reference to `ogdf::NodeAttributes::~NodeAttributes()'
    FMMMLayout.cpp:(.text+0x6860): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x6892): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x68c6): undefined reference to `ogdf::NodeAttributes::~NodeAttributes()'
    FMMMLayout.cpp:(.text+0x68fb): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x692d): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x6979): undefined reference to `ogdf::Graph::~Graph()'
    FMMMLayout.cpp:(.text+0x6988): undefined reference to `ogdf::Graph::~Graph()'
    FMMMLayout.cpp:(.text+0x69ca): undefined reference to `ogdf::NodeAttributes::~NodeAttributes()'
    FMMMLayout.cpp:(.text+0x6a0b): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x6a49): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x6a8f): undefined reference to `ogdf::NodeAttributes::~NodeAttributes()'
    FMMMLayout.cpp:(.text+0x6ad4): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x6b12): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::FMMMLayout::call(ogdf::GraphAttributes&)':
    FMMMLayout.cpp:(.text+0x6be8): undefined reference to `ogdf::Graph::registerArray(ogdf::EdgeArrayBase*) const'
    FMMMLayout.cpp:(.text+0x6c78): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    FMMMLayout.cpp:(.text+0x6cc5): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::Array<ogdf::NodeAttributes, int>::deconstruct()':
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE11deconstructEv[ogdf::Array<ogdf::NodeAttributes, int>::deconstruct()]+0x17): undefined reference to `ogdf::NodeAttributes::~NodeAttributes()'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::Array<ogdf::NodeAttributes, int>::initialize()':
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE10initializeEv[ogdf::Array<ogdf::NodeAttributes, int>::initialize()]+0x1a): undefined reference to `ogdf::NodeAttributes::NodeAttributes()'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE10initializeEv[ogdf::Array<ogdf::NodeAttributes, int>::initialize()]+0x46): undefined reference to `ogdf::NodeAttributes::~NodeAttributes()'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::Array<ogdf::EdgeAttributes, int>::deconstruct()':
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14EdgeAttributesEiE11deconstructEv[ogdf::Array<ogdf::EdgeAttributes, int>::deconstruct()]+0x17): undefined reference to `ogdf::EdgeAttributes::~EdgeAttributes()'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::Array<ogdf::EdgeAttributes, int>::initialize()':
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14EdgeAttributesEiE10initializeEv[ogdf::Array<ogdf::EdgeAttributes, int>::initialize()]+0x1a): undefined reference to `ogdf::EdgeAttributes::EdgeAttributes()'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14EdgeAttributesEiE10initializeEv[ogdf::Array<ogdf::EdgeAttributes, int>::initialize()]+0x46): undefined reference to `ogdf::EdgeAttributes::~EdgeAttributes()'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::Array<ogdf::NodeAttributes, int>::grow(int, ogdf::NodeAttributes const&)':
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE4growEiRKS1_[ogdf::Array<ogdf::NodeAttributes, int>::grow(int, ogdf::NodeAttributes const&)]+0x12e): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE4growEiRKS1_[ogdf::Array<ogdf::NodeAttributes, int>::grow(int, ogdf::NodeAttributes const&)]+0x145): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE4growEiRKS1_[ogdf::Array<ogdf::NodeAttributes, int>::grow(int, ogdf::NodeAttributes const&)]+0x14a): undefined reference to `ogdf::MemoryManager::allocateBlock(unsigned long)'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE4growEiRKS1_[ogdf::Array<ogdf::NodeAttributes, int>::grow(int, ogdf::NodeAttributes const&)]+0x1cd): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE4growEiRKS1_[ogdf::Array<ogdf::NodeAttributes, int>::grow(int, ogdf::NodeAttributes const&)]+0x1e4): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE4growEiRKS1_[ogdf::Array<ogdf::NodeAttributes, int>::grow(int, ogdf::NodeAttributes const&)]+0x1e9): undefined reference to `ogdf::MemoryManager::allocateBlock(unsigned long)'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE4growEiRKS1_[ogdf::Array<ogdf::NodeAttributes, int>::grow(int, ogdf::NodeAttributes const&)]+0x29b): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE4growEiRKS1_[ogdf::Array<ogdf::NodeAttributes, int>::grow(int, ogdf::NodeAttributes const&)]+0x2b2): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE4growEiRKS1_[ogdf::Array<ogdf::NodeAttributes, int>::grow(int, ogdf::NodeAttributes const&)]+0x2b7): undefined reference to `ogdf::MemoryManager::allocateBlock(unsigned long)'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE4growEiRKS1_[ogdf::Array<ogdf::NodeAttributes, int>::grow(int, ogdf::NodeAttributes const&)]+0x36f): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE4growEiRKS1_[ogdf::Array<ogdf::NodeAttributes, int>::grow(int, ogdf::NodeAttributes const&)]+0x374): undefined reference to `ogdf::MemoryManager::deallocateList(void*, void*, int)'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE4growEiRKS1_[ogdf::Array<ogdf::NodeAttributes, int>::grow(int, ogdf::NodeAttributes const&)]+0x3ab): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE4growEiRKS1_[ogdf::Array<ogdf::NodeAttributes, int>::grow(int, ogdf::NodeAttributes const&)]+0x3b0): undefined reference to `ogdf::MemoryManager::deallocateList(void*, void*, int)'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::Array<ogdf::NodeAttributes, int>::initialize(ogdf::NodeAttributes const&)':
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE10initializeERKS1_[ogdf::Array<ogdf::NodeAttributes, int>::initialize(ogdf::NodeAttributes const&)]+0xb7): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE10initializeERKS1_[ogdf::Array<ogdf::NodeAttributes, int>::initialize(ogdf::NodeAttributes const&)]+0xce): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE10initializeERKS1_[ogdf::Array<ogdf::NodeAttributes, int>::initialize(ogdf::NodeAttributes const&)]+0xd3): undefined reference to `ogdf::MemoryManager::allocateBlock(unsigned long)'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE10initializeERKS1_[ogdf::Array<ogdf::NodeAttributes, int>::initialize(ogdf::NodeAttributes const&)]+0x161): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE10initializeERKS1_[ogdf::Array<ogdf::NodeAttributes, int>::initialize(ogdf::NodeAttributes const&)]+0x178): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE10initializeERKS1_[ogdf::Array<ogdf::NodeAttributes, int>::initialize(ogdf::NodeAttributes const&)]+0x17d): undefined reference to `ogdf::MemoryManager::allocateBlock(unsigned long)'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE10initializeERKS1_[ogdf::Array<ogdf::NodeAttributes, int>::initialize(ogdf::NodeAttributes const&)]+0x233): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE10initializeERKS1_[ogdf::Array<ogdf::NodeAttributes, int>::initialize(ogdf::NodeAttributes const&)]+0x24a): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE10initializeERKS1_[ogdf::Array<ogdf::NodeAttributes, int>::initialize(ogdf::NodeAttributes const&)]+0x24f): undefined reference to `ogdf::MemoryManager::allocateBlock(unsigned long)'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE10initializeERKS1_[ogdf::Array<ogdf::NodeAttributes, int>::initialize(ogdf::NodeAttributes const&)]+0x301): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE10initializeERKS1_[ogdf::Array<ogdf::NodeAttributes, int>::initialize(ogdf::NodeAttributes const&)]+0x306): undefined reference to `ogdf::MemoryManager::deallocateList(void*, void*, int)'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE10initializeERKS1_[ogdf::Array<ogdf::NodeAttributes, int>::initialize(ogdf::NodeAttributes const&)]+0x33a): undefined reference to `ogdf::g_memory'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE10initializeERKS1_[ogdf::Array<ogdf::NodeAttributes, int>::initialize(ogdf::NodeAttributes const&)]+0x33f): undefined reference to `ogdf::MemoryManager::deallocateList(void*, void*, int)'
    FMMMLayout.cpp:(.text._ZN4ogdf5ArrayINS_14NodeAttributesEiE10initializeERKS1_[ogdf::Array<ogdf::NodeAttributes, int>::initialize(ogdf::NodeAttributes const&)]+0x380): undefined reference to `ogdf::NodeAttributes::~NodeAttributes()'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::EdgeArray<ogdf::EdgeAttributes>::~EdgeArray()':
    FMMMLayout.cpp:(.text._ZN4ogdf9EdgeArrayINS_14EdgeAttributesEED1Ev[ogdf::EdgeArray<ogdf::EdgeAttributes>::~EdgeArray()]+0x1d): undefined reference to `ogdf::EdgeAttributes::~EdgeAttributes()'
    FMMMLayout.cpp:(.text._ZN4ogdf9EdgeArrayINS_14EdgeAttributesEED1Ev[ogdf::EdgeArray<ogdf::EdgeAttributes>::~EdgeArray()]+0x44): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    FMMMLayout.cpp:(.text._ZN4ogdf9EdgeArrayINS_14EdgeAttributesEED1Ev[ogdf::EdgeArray<ogdf::EdgeAttributes>::~EdgeArray()]+0x6b): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::EdgeArray<ogdf::EdgeElement*>::~EdgeArray()':
    FMMMLayout.cpp:(.text._ZN4ogdf9EdgeArrayIPNS_11EdgeElementEED0Ev[ogdf::EdgeArray<ogdf::EdgeElement*>::~EdgeArray()]+0x2f): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    FMMMLayout.cpp:(.text._ZN4ogdf9EdgeArrayIPNS_11EdgeElementEED0Ev[ogdf::EdgeArray<ogdf::EdgeElement*>::~EdgeArray()]+0x5a): undefined reference to `ogdf::g_memory'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::EdgeArray<ogdf::EdgeElement*>::~EdgeArray()':
    FMMMLayout.cpp:(.text._ZN4ogdf9EdgeArrayIPNS_11EdgeElementEED1Ev[ogdf::EdgeArray<ogdf::EdgeElement*>::~EdgeArray()]+0x2f): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::EdgeArray<ogdf::EdgeAttributes>::~EdgeArray()':
    FMMMLayout.cpp:(.text._ZN4ogdf9EdgeArrayINS_14EdgeAttributesEED0Ev[ogdf::EdgeArray<ogdf::EdgeAttributes>::~EdgeArray()]+0x15): undefined reference to `ogdf::EdgeAttributes::~EdgeAttributes()'
    FMMMLayout.cpp:(.text._ZN4ogdf9EdgeArrayINS_14EdgeAttributesEED0Ev[ogdf::EdgeArray<ogdf::EdgeAttributes>::~EdgeArray()]+0x3c): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    FMMMLayout.cpp:(.text._ZN4ogdf9EdgeArrayINS_14EdgeAttributesEED0Ev[ogdf::EdgeArray<ogdf::EdgeAttributes>::~EdgeArray()]+0x63): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::EdgeArrayBase*>) const'
    FMMMLayout.cpp:(.text._ZN4ogdf9EdgeArrayINS_14EdgeAttributesEED0Ev[ogdf::EdgeArray<ogdf::EdgeAttributes>::~EdgeArray()]+0x8e): undefined reference to `ogdf::g_memory'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::NodeArray<ogdf::DPoint>::~NodeArray()':
    FMMMLayout.cpp:(.text._ZN4ogdf9NodeArrayINS_6DPointEED0Ev[ogdf::NodeArray<ogdf::DPoint>::~NodeArray()]+0x2f): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text._ZN4ogdf9NodeArrayINS_6DPointEED0Ev[ogdf::NodeArray<ogdf::DPoint>::~NodeArray()]+0x5a): undefined reference to `ogdf::g_memory'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::NodeArray<ogdf::DPoint>::~NodeArray()':
    FMMMLayout.cpp:(.text._ZN4ogdf9NodeArrayINS_6DPointEED1Ev[ogdf::NodeArray<ogdf::DPoint>::~NodeArray()]+0x2f): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::NodeArray<ogdf::NodeAttributes>::~NodeArray()':
    FMMMLayout.cpp:(.text._ZN4ogdf9NodeArrayINS_14NodeAttributesEED0Ev[ogdf::NodeArray<ogdf::NodeAttributes>::~NodeArray()]+0x15): undefined reference to `ogdf::NodeAttributes::~NodeAttributes()'
    FMMMLayout.cpp:(.text._ZN4ogdf9NodeArrayINS_14NodeAttributesEED0Ev[ogdf::NodeArray<ogdf::NodeAttributes>::~NodeArray()]+0x3c): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text._ZN4ogdf9NodeArrayINS_14NodeAttributesEED0Ev[ogdf::NodeArray<ogdf::NodeAttributes>::~NodeArray()]+0x63): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::NodeArray<ogdf::NodeAttributes>::~NodeArray()':
    FMMMLayout.cpp:(.text._ZN4ogdf9NodeArrayINS_14NodeAttributesEED1Ev[ogdf::NodeArray<ogdf::NodeAttributes>::~NodeArray()]+0x1d): undefined reference to `ogdf::NodeAttributes::~NodeAttributes()'
    FMMMLayout.cpp:(.text._ZN4ogdf9NodeArrayINS_14NodeAttributesEED1Ev[ogdf::NodeArray<ogdf::NodeAttributes>::~NodeArray()]+0x44): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text._ZN4ogdf9NodeArrayINS_14NodeAttributesEED1Ev[ogdf::NodeArray<ogdf::NodeAttributes>::~NodeArray()]+0x6b): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    /home/students/csinnam/OGDF/_release/src/energybased/FMMMLayout.o: In function `ogdf::FMMMLayout::~FMMMLayout()':
    FMMMLayout.cpp:(.text._ZN4ogdf10FMMMLayoutD0Ev[ogdf::FMMMLayout::~FMMMLayout()]+0x25): undefined reference to `ogdf::NMM::~NMM()'
    FMMMLayout.cpp:(.text._ZN4ogdf10FMMMLayoutD0Ev[ogdf::FMMMLayout::~FMMMLayout()]+0x36): undefined reference to `ogdf::FruchtermanReingold::~FruchtermanReingold()'
    FMMMLayout.cpp:(.text._ZN4ogdf10FMMMLayoutD0Ev[ogdf::FMMMLayout::~FMMMLayout()]+0x44): undefined reference to `ogdf::FruchtermanReingold::~FruchtermanReingold()'
    FMMMLayout.cpp:(.text._ZN4ogdf10FMMMLayoutD0Ev[ogdf::FMMMLayout::~FMMMLayout()]+0x76): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    FMMMLayout.cpp:(.text._ZN4ogdf10FMMMLayoutD0Ev[ogdf::FMMMLayout::~FMMMLayout()]+0xbf): undefined reference to `ogdf::Graph::unregisterArray(ogdf::ListIterator<ogdf::NodeArrayBase*>) const'
    collect2: ld returned 1 exit status
    The code I am trying to run is:

    Code:
    #include <ogdf/energybased/FMMMLayout.h>
    
    using namespace ogdf;
     
    int main()
    {
      	Graph G;
      	GraphAttributes GA(G);
      	if( !G.readGML("sierpinski_04.gml") ) {
      		cerr << "Could not load sierpinski_04.gml" << endl;
      		return 1;
           }
      	node v;
      	forall_nodes(v,G)
      		GA.width(v) = GA.height(v) = 10.0;
       
      	FMMMLayout fmmm;
       
      	fmmm.useHighLevelOptions(true);
      	fmmm.unitEdgeLength(15.0); 
      	fmmm.newInitialPlacement(true);
      	fmmm.qualityVersusSpeed(FMMMLayout::qvsGorgeousAndEfficient);
       
      	fmmm.call(GA);
      	GA.writeGML("sierpinski_04-layout.gml"); 
       
    	return 0;
    }
    Any help would be greatly appreaciated.
    Thank you very much.

  2. #2
    Registered User
    Join Date
    Apr 2008
    Posts
    890
    The compiler/linker has to be told what to link. What are the library file names?

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Beginner Needs help in Dev-C++
    By Korrupt Lawz in forum C++ Programming
    Replies: 20
    Last Post: 09-28-2010, 01:17 AM
  2. Game Pointer Trouble?
    By Drahcir in forum C Programming
    Replies: 8
    Last Post: 02-04-2006, 02:53 AM
  3. using c++ in c code
    By hannibar in forum C Programming
    Replies: 17
    Last Post: 10-28-2005, 09:09 PM
  4. Stupid compiler errors
    By ChrisEacrett in forum C++ Programming
    Replies: 9
    Last Post: 11-30-2003, 05:44 PM
  5. UNICODE and GET_STATE
    By Registered in forum C++ Programming
    Replies: 1
    Last Post: 07-15-2002, 03:23 PM