OT (Linker problem with classes spreaded over directories)
bjkro at gmx.de
Fri Mar 10 12:58:57 UTC 2000
Thorsten Gecks wrote:
> Hello this is my make output:
> nnsimnormalunit.cpp:143: undefined reference to
> `NNSimConnection::NNSimConnection(NNSimParseObject &,
> NNSimAbstractUnit *, NNS imNetwork *,NNSimDoc *)'
> It the class nnsimconnection is in the directory abstractparsenodes, the
> class nnsimnormalunit in abstractparsenodes/units. nnsimnormalunit uses an
> instance of nnsimconnection, so it seems to me that the linker is trying
> to insert the constructor of nnsimnormalunit and doesn't find the
> constructor of nnsimconnection, that is neccessary for nnsimnormalunit to
> work. So obviously the linker doesn't look in all its supplied libraries,
> cause then it would find the constructor (i.e. when i would have placed
> anything from abstractparsenodes/units in abstractparsenodes)
> Is there a linker option or any code keyword, that solves this problem ?
If you already included the file, it could happen that declaration of
NNSimConnection is included behind definition of NNSimNormalUnit, so
you have to add:
to the top of nnsimnormalunit.h to show that there will follow a declaration
of NNSimConnection anywhere in the sources.
By the way, your question has no dependencies to kdevelop.
For C++ related questions it's the best to choose one of the numerous
news groups like de.comp.lang.iso-c++ (german).
More information about the KDevelop