linker-error



  • Hallo!
    vorweg: ich arbeite mit visual studio express 2008
    ich möchte eine fortran90-routine an mein c++ - programm anhängen. ich habe ein "interface" geschrieben, dh die fortran routine als extern C festgelegt und die calling convetion _stdcall verwendet. ich habe dann den object code an mein projekt dazugehängt und es compiliert auch alles wunderbar, aber beim linker gibt es dann, o wunder, probleme:

    zuerst sagt mir der linker, dass er verschiedene libraries (dfor.lib, libcd.lib) nicht findet, dann gebe ich ihm die pfade und er sagt mir dann, dass diese libcd.lib in konflikt mit MSVCRTD.lib steht - also funktioniert das programm weder mit noch ohne libcd.lib!

    2.) bei jenem schritt, an dem mir der konflikt der libs gemeldet wird, gibt es auch noch ein anderes problem - ich verwende in meinem programm die dirstream-library,(um dateien suchen zu können und so) und plötzlich linkt auch die nicht mehr - vorher seltsamerweise aber schon!

    ich wär für jede hilfe dankbar,
    lg,
    Iso



  • und das häufigste problem ist LNK2001: unresolved external - auch bei Funktionen, die vorher (ohne den fortran-objekt code und die dazugelinkten libraries) ohne beanstandung gefunden wurden.

    Was macht der Compiler??

    lg, Iso



  • Ich poste jetzt einmal die Fehler, die ich bekomme:

    Linking...
    MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _tolower already defined in libcd.lib(tolower.obj)
    MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _free already defined in libcd.lib(dbgheap.obj)
    MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _malloc already defined in libcd.lib(dbgheap.obj)
    MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _strchr already defined in libcd.lib(strchr.obj)
    MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _atoi already defined in libcd.lib(atox.obj)
    LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
    electro.obj : error LNK2019: unresolved external symbol _INIT_GLOBAL@0 referenced in function _ATLAS_ELEMENTS_mp_ELECTRO1
    dirstream.obj : error LNK2019: unresolved external symbol __imp___wassert referenced in function "public: __thiscall dirstr::dirstream::dirstream(char const *,class dirstr::filter_base const &,enum dirstr::recurse_mode,class dirstr::filter_base const &)" (??0dirstream@dirstr@@QAE@PBDABVfilter_base@1@W4recurse_mode@1@1@Z)
    dirstream.obj : error LNK2019: unresol.... u.s.w

    ich hoffe, es kann jemand helfen,
    lg, Iso


Anmelden zum Antworten