Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Undefined linking errors in OGDF

16 views
Skip to first unread message

Bill Ford

unread,
Jun 20, 2022, 12:36:52 AM6/20/22
to ogdf
I am sorry to ask for help a second time, but undefined errors are causing a lot of problems in my DiscreteMathCalcultor.

This line generates dozens of undefined errors for
Line 126 of basic.h:   static Initialization s_ogdfInitializer;

"Undefined reference to `ogdf::Initialization::Initialization()' and ogdf::Initialization::~Initialization()

The declaration of class Initialize is in basic.h

class Initialization {
public:
    Initialization();
    ~Initialization();
};

Implementation of member functions of class Initialization are in basic.cpp.

Initialization::Initialization()
{
    initializeOGDF();
}

Initialization::~Initialization()
{
    deinitializeOGDF();
}

static int initializerCount = 0;
static void initializeOGDF()
{
    if (initializerCount++ == 0) {
        ogdf::System::init();
    }
}

static void deinitializeOGDF()
{
    if (--initializerCount == 0) {
        ogdf::PoolMemoryAllocator::cleanup();
    }
};

In looking at "nm -g basic.o", there appear to be two defined variables for
each of the constructor and destructor.

nm -g basic.cpp.o | grep Initialization gives

0000000000000030 T _ZN4ogdf14InitializationC1Ev
0000000000000030 T _ZN4ogdf14InitializationC2Ev
0000000000000000 T _ZN4ogdf14InitializationD1Ev
0000000000000000 T _ZN4ogdf14InitializationD2Ev

Again thanks.
Reply all
Reply to author
Forward
0 new messages