Problem beim Linken mit gcc, shared libraries, multiple definitions
-
Hallo!
Ich habe eine Menge C++ der unter MSVC 6.0 problemlös übersetzbar ist. Besteht aus vielen Bibliotheken. Ich habe nun begonnen das unter cygwin/gcc zu compilieren. Soll dann mal unter Linux compiliert werden.
Lib1 lässt sich kompilieren und linken -> Lib1.so. Lib2 verwendet Lib1. Linker reklamiert einige "multiple definitions":
Habe Klasse DRLException :: std::exception mit inline Konstruktor. Einige Klassen in Lib1 verwenden DRLException. Auch in Lib2 wird DRLException verwendet. Nun wird etwa
DRLException::DRLException als mehrfach definitert reklamiert.Hat jemand eine Ahnung was das zu bedeuten hat und was ich tun muss? Danke
PS: Ich hatte vorher auch multiple definition von std::min. Das kam daher, dass als Relikt DRLException.h #include <iterator> beinhaltete. Das habe ich dann weggegeben. Diese Mehrfachdefinition ist damit verschwunden. Vielleicht bringt das jemand auf die richtige Fährte. Ich bin zur Zeit etwas ratlos.