tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
3615
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    MedRamBO MedRamBO ist offline Mitglied Silber
    Registriert seit
    Oct 2007
    Beiträge
    94
    Hi Leute,

    ich probiere im Moment meine Runtime Library zu /MT (statisch) umzustellen um die kompabilität mit einem meiner Programme sicher zu stellen. Meine bisherigen versuche ergaben immer das selbe Problem welche unten aufgelistet sind.
    Habt ihr irgentwelche Ideen die mir hierbei weiterhelfen könnten? Hab schon gegoogelt
    und dabei bin ich auf Antworten wie: "Die Header Dateien dürfen hierbei nich gemixt als Release und Debug Version eingefügt werden. Das lässt sich in den Projekteinstellungen ganz einfach umstellen.", aber damit komme ich nicht klar. Ich hoffe auf ein wenig Hilfe eurerseits,

    danke im vorraus. Jede Antwort ist erwünscht

    Code :
    1
    2
    3
    4
    5
    
    MSVCRT.lib(MSVCR80.dll) : error LNK2005: _malloc already defined in LIBCMT.lib(malloc.obj)
    MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (0type_info@@AAE@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
    MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
    LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
    C:\Dokumente und Einstellungen\RamBO\Desktop\Kopie von RisinG_DestructioN_Scan_ES\Release\RisinG_DestructioN.dll : fatal error LNK1169: one or more multiply defined symbols found
     

  2. #2
    MedRamBO MedRamBO ist offline Mitglied Silber
    Registriert seit
    Oct 2007
    Beiträge
    94
    Entschuldigung für meine 2. Post. Hat niemand eine Idee? Ich komm einfach nicht weiter an dieser Stelle. Ich habe mal LIBCMT.lib ignoriert, aber dann bekomme ich Runtime Error beim benutzen. (Compelieren und Buld t)
     

  3. #3
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Moin,

    also ich hatte hier vor geraumer Zeit hier mit meinen Anwendungen ähnliche Probleme!

    Der Linkerfehler LNK4098 besagt. dass die Standardbibliothek "xxx" in Konflikt mit anderen Libs steht und man gerade versucht hat, mit nicht kompatiblen Libs zu binden!
    Die nicht kompatiblen Bibliotheken müssen dann mit "/NODEFAULT:Lib" ignoriert werden.

    Ich kopiere Dir hier mal die Übersicht aus meiner Hilfe (VC++ 6.0) rein, die mich damals bei meinen Problemen auf die richtige Spur gebracht hat

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    
    Standardbibliothek "Bibliothek" steht in Konflikt mit anderen Bibliotheken; /NODEFAULT:Bibliothek verwenden
     
    Sie versuchen, mit nicht kompatiblen Bibliotheken zu binden.
     
    Wichtig   Die Laufzeitbibliotheken enthalten jetzt Direktiven, um das 
    Vermischen von verschiedenen Typen zu verhindern. Sie werden 
    diese Warnung bei dem Versuch erhalten, verschiedene Typen oder 
    Debug- und Nicht-Debug-Versionen der Laufzeitbibliothek im gleichen 
    Programm zu verwenden. Wenn Sie z. B. eine Datei zur Verwendung 
    einer Art Laufzeitbibliothek und eine andere Datei zur Verwendung 
    einer anderen Art Bibliothek (z. B. single-threaded im Vergleich zu 
    multithreaded) kompiliert haben und Sie anschließend versuchen, 
    diese zu binden, werden Sie diese Warnung erhalten. Sie sollten alle 
    Quelldateien kompilieren, um die gleiche Laufzeitbibliothek zu verwenden. 
    Weitere Informationen finden Sie unter den Compiler-Optionen 
    Verwenden der Laufzeitbibliothek (MD, /ML, /MT, /LD). 
     
    Sie können den Schalter /VERBOSE:LIB des Linkers dazu verwenden, 
    die vom Linker gesuchten Bibliotheken zu bestimmen. Wenn Sie 
    einen LNK4098 erhalten, und Sie eine ausführbare Datei erstellen 
    möchten, die z. B. die single-threaded Nicht-Debug- Laufzeitbibliotheken 
    einsetzt, verwenden Sie die Option /VERBOSE:LIB, um zu ermitteln, 
    nach welchen Bibliotheken der Linker sucht. Der Linker sollte LIBC.LIB 
    und nicht LIBCMT.LIB, MSVCRT.LIB, LIBCD.LIB, LIBCMTD.LIB oder 
    MSVCRTD.LIB als zu suchende Bibliotheken ausgeben. Sie können 
    den Linker anweisen, die inkorrekten Laufzeitbibliotheken zu ignorieren, 
    indem Sie die inkorrekten Bibliotheken in das Textfeld Bibliotheken 
    ignorieren in der Registerkarte Linker des Dialogfelds Einstellungen 
    im Developer Studio eingeben, oder durch Verwendung der Option 
    /NODEFAULTLIB:Bibliothek mit LINK für jede Bibliothek, die Sie 
    ignorieren möchten. Weitere Informationen finden Sie unter der 
    Linker-Option Ignorieren von Bibliotheken (/NODEFAULTLIB).
     
    Die unten aufgeführte Tabelle zeigt, welche Bibliotheken abhängig 
    von der von Ihnen verwendeten Laufzeitbibliothek ignoriert werden sollten.
     
    Beim Verwenden dieser Laufzeitbibliothek Ignorieren Sie diese Bibliotheken 
    Single-threaded (libc.lib) libcmt.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib 
    Multithreaded (libcmt.lib) libc.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib 
    Multithreaded bei Verwendung von DLL (msvcrt.lib) libc.lib, libcmt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib 
    Single-Threaded Debug (libcd.lib) libc.lib, libcmt.lib, msvcrt.lib, libcmtd.lib, msvcrtd.lib 
    Multithreaded Debug (libcmtd.lib) libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, msvcrtd.lib 
    Multithreaded Debug bei Verwendung von DLL (msvcrtd.lib) libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, libcmtd.lib 
     
     
    Wenn Sie z. B. diese Warnung erhalten und Sie eine ausführbare Datei 
    erstellen möchten, welche die Single-threaded-Version (Nicht-Debug) 
    der Laufzeitbibliotheken verwendet, könnten Sie die folgenden Optionen 
    für den Linker verwenden:
     
    /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:msvcrtd.lib

    Ich hoffe, dass Dir das auch weiterhilft!!

    tschüss
    Klaus

    ERGÄNZUNG:
    diese Libs habe ich über die Projekteinstellungen ignoriert:
    Libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, msvcrtd.lib
    Geändert von vfl_freak (22.07.08 um 08:12 Uhr) Grund: Zeilemumbrüche eingefügt
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  4. #4
    MedRamBO MedRamBO ist offline Mitglied Silber
    Registriert seit
    Oct 2007
    Beiträge
    94
    Danke Klaus, endlich funktioniert es! Der aufgespürte Text ist super
     

  5. #5
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Guten morgen,

    super

    Noch ein kleiner Tipp hierzu:
    Der Text kommt aus der Hilfe des Visual Studios! Du erreichst ihn ganz einfach wie jedes andere Schlüsselwort auch;
    also: in der Konsole innerhalb der Meldung einfach den entsprechenden Teil markieren (hier also "LNK4098") und dann <F1> drücken!

    tschüss
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

Ähnliche Themen

  1. Linker
    Von nosrep123 im Forum VisualStudio & MFC
    Antworten: 6
    Letzter Beitrag: 30.06.10, 09:31
  2. Code::Blocks Probleme mit Linker ?
    Von MettMax im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 19.08.08, 21:59
  3. [Dev-C++] Linker Error, was ist zu tun?
    Von meilon im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 09.08.06, 11:10
  4. problem mit Linker
    Von gamerfunkie im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 14.04.06, 21:44
  5. Was will der Linker von mir
    Von masda im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 19.10.04, 19:05