Ich habe einem button, der in einer FormView liegt eine eigene klasse hinzugefügt die ich CSpecialButton taufte. Anschließend habe ich einen Meldungshandler für die ON_CLICKED nachricht hizugefügt. Als ich dann mein projekt ausführen wollte bekam ich folgende fehler:
LIBC.lib(crt0dat.obj) : error LNK2005: ___crtExitProcess bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: __cinit bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: _exit bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: __exit bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: __cexit bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: __c_exit bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: __C_Exit_Done bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: __C_Termination_Done bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: __exitflag bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: __wpgmptr bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: __pgmptr bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: ___winitenv bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: __wenviron bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: ___initenv bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: __environ bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: ___wargv bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: ___argv bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: ___argc bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: __winminor bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: __winmajor bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: __winver bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: __osver bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: __osplatform bereits in libcmtd.lib(crt0dat.obj) definiert LIBC.lib(crt0dat.obj) : error LNK2005: __umaskval bereits in libcmtd.lib(crt0dat.obj) definiert LINK : warning LNK4098: Standardbibliothek 'LIBC' steht in Konflikt mit anderen Bibliotheken; /NODEFAULT:Bibliothek verwenden Debug/CADProjectCenter.exe : fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden ---------------------------------------------------------------------------
Kann mir da irgendjemand vielleicht sagen was ich da angestellt hab oder wie ich diese Fehlermeldungen wegbekomme.
du hast bestimmt irgendeine headerdatei die du selber geschrieben hast mehrfachincludiert
mach mal bei alle deinen selbstgeschriebenen Headern einen Guard rum
C++:
#ifndef MY_HEADER //statt MY_HEADER hier z.b. den jeweiligen namen deiner datei verwenden #define MY_HEADER .//hier steht dann dein ganzer alter header zwischen . . #endif//am ende nicht vergessen das if zu schliessen
-- ...fleißig wie zwei WeißbroteDieser Post wurde am 09.01.2004 um 17:27 Uhr von Windalf editiert.
Nein, das gäbe keinen Linkerfehler. So wies aussieht, war in dem Projekt ne Bibliothek dabei, die sich mit den Windows-Standard-Bibliotheken beißt (namentlich die libc). Du musst dem Linker beibiegen, welche der beiden er benutzen soll. Wie das geht, kann dir aber ein Windows-User im Zweifel besser erklären... Windalf? -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra
ähh.....nein weis ich nicht Ich verstehe auch nciht wirklich zusammenhänge sondern klicke immer so lange rum bis es so geht wie ich will... ist halt windows
Bearbeitung:
man bin ich gerade blöd... vielleicht wess ich das doch... also entweder ist das teil unter projekt-settings-linkeroption eingetragen und muss dort nochmal gelöscht werden oder der steht bei den files in dem rechten fenster mit drin dann einfach löschen.. am besten aber das ganze project vorher nochmal sichern bevor du da was total verhunzt...
-- ...fleißig wie zwei WeißbroteDieser Post wurde am 09.01.2004 um 18:17 Uhr von Windalf editiert.