Compilerfehler



  • Hallo!

    Folgende Fehlermeldung macht mir Probleme:

    Linking...
    main.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > * __err" (?__err@@3PAV?basic_ostream@DU?basic\_ostream@DU?char_traits@D@std@@@std@@A)
    Release/ROIFeatures.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.

    Ich weiß nicht was es mit diesem "basic_ostream" auf sich hat...

    Weiß jemand etwas darueber?

    Gruß
    Thomas



  • basic_ostream ist sicherlich cout oder cerr
    Ich weis aber nicht was du gemacht hast das so eine Fehlermeldung kommt

    MfG



  • nun, das ist leider das Problem.... 😉

    hat jemand zufaellig schonmal solch eine Meldung gehabt?



  • Werkelst du mit Visualstudio und Libs rum?



  • Vielleicht

    using namespace std

    vergessen...?



  • Achja hatte ich vorhin vergessen zu sagen, das ist kein Compilierfehler sondern ein Linkerfehler (das ist ein großer unterschied)

    MfG



  • ja richtig. Habe Visual Studio 6.0 und werkel auch mit Libs rum.

    "using namespace std" ist da... hat nicht geholfen.

    Das ganze istn Projekt, dass ich ausgecheckt hab. Mein Problem ist, dass
    ich den Fehler absolut nicht reproduzieren kann...

    Stimmt auch , dass das ein Linkerfehler ist, nur hilft das irgendwie weiter???



  • Der Linker von Visual-Studio hat Probleme mit dem Auflösen der Namen von Template-Funktionen bzw. Funktionen von Template-Klassen über Lib-Grenzen hinweg. Bei einfachen Sachen kriegt er das noch hin, werden aber innerhalb von (Template)-Funktionen wieder Templates mit Funktionen verwendet (wie z.B. bei der STL), die er linken müsste bringt der Linker das nicht so richtig hin.

    Die oben genannte Fehlermeldung ist mir untergekommen, wenn man versucht eine statische Lib zu linken in der mit der STL hantiert wird. Einzige mir bisher bekannte Lösung ist es als Runtime Library die DLL-Variante zu verwenden. (Extrem grausam ich weiss aber die STL deshalb nicht zu verwenden find ich noch grausamer.)

    Falls jemand eine bessere Lösung kennt bitte melden. Kenne ein paar Leute die würden ein paar schöne Freudentänze aufführen, wenn sie diesen mist aus ihren Projekten schmeissen könnten.



  • Achja... das beste kommt zum Schluss... bei DLLs klapt das ganze wieder solange die Templates nicht "exportiert" werden. Das ist allerdings mehr oder weniger darauf zurückzuführen, dass dann die Templates sowohl in der DLL als auch in dem DLL-Nutzer ausgeprägt werden und das kriegt der Linker dann wieder hin.


Anmelden zum Antworten