Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 13.07.2005, 20:29 Titel: komische Linkerfehler |
|
|
Code: |
LINK : warning LNK4075: '/EDITANDCONTINUE' wird auf Grund der Angabe von '/OPT:ICF' ignoriert
libcd.lib(dbgheap.obj) : error LNK2005: _malloc bereits in LIBC.lib(malloc.obj) definiert
libcd.lib(dbgheap.obj) : error LNK2005: __nh_malloc bereits in LIBC.lib(malloc.obj) definiert
libcd.lib(dbgheap.obj) : error LNK2005: __heap_alloc bereits in LIBC.lib(malloc.obj) definiert
|
jo, ich habe n ganz normales Projekt mit VC .NET erstellt. Auf Debug ging alles Prima, die Fehler kamen erst als ich auf Release gewechselt habe. Achja, da sind noch ne ganze Menge mehr Fehler der selben Art, halt immer so komishce Dateien, die ich gar nicht bewusst benutzt (scheinbar so standarddinger, die imemr im Hintergrund sind oder sowas). _________________ https://jonathank.de/games/
Zuletzt bearbeitet von Jonathan_Klein am 13.07.2005, 21:17, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
GreveN JLI Master

Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
|
Nach oben |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 13.07.2005, 20:50 Titel: |
|
|
öhm, irgendwie geht das net.
Außerdem geht es ja net um die Warnung sondern um die Fehlermeldungen des Linkers. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 13.07.2005, 21:16 Titel: |
|
|
also, ich habe das nochmal probiert ein komplett neues (leeres) Projekt zu erstellen. Dann hab ich die Quellcodedateien eingebundne und kompiliert. Debug ging, Release net. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
 |
xardias JLI Master

Alter: 38 Anmeldedatum: 28.12.2003 Beiträge: 804 Wohnort: Palo Alto, CA Medaillen: Keine
|
Verfasst am: 13.07.2005, 21:32 Titel: |
|
|
in den linker einstellungen die "libcd.lib" zu den ignore default libraries oder so hinzufügen? vielleicht klappt das. |
|
Nach oben |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 14.07.2005, 07:48 Titel: |
|
|
eher net, weil der Fehler sagt ja, das diese Dateien schon eingebunden werden, aber einen Fehler erzeugen weil sie bereits definierte Elemente erhalten. Also eher die Dateien rausnehmen... Allerdings hab ich die ja gar nicht erst reingepackt, darumö wundert der Fehler mich auch ein bisschen. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
 |
xardias JLI Master

Alter: 38 Anmeldedatum: 28.12.2003 Beiträge: 804 Wohnort: Palo Alto, CA Medaillen: Keine
|
Verfasst am: 14.07.2005, 09:33 Titel: |
|
|
was mich eher wundert, ist dass der im Release Modus die libcd.lib linkt. Soweit ich weiß ist das die Debug Version der Standard Bibliothek.
Es ist also kein Wunder, dass die in konflikt gerät mit der Release version libc.lib.
Eigentlich gehört die libcd.lib nicht da rein. |
|
Nach oben |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 14.07.2005, 09:38 Titel: |
|
|
naja, der link halt so standardlibs wie
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib
und mehr eigentlich net... _________________ https://jonathank.de/games/ |
|
Nach oben |
|
 |
xardias JLI Master

Alter: 38 Anmeldedatum: 28.12.2003 Beiträge: 804 Wohnort: Palo Alto, CA Medaillen: Keine
|
Verfasst am: 14.07.2005, 10:12 Titel: |
|
|
die standard bibliothek wird eigentlich immer mit gelinkt.
benutzt du vielleicht andere bibiotheken? du musst immer darauf achten dass die "code generation" option bei allen bibliotheken die du bneutzt gleich ist.
Viele Engines benutzen z.B. Oft die "Multithread Dll" code generation option. Wenn du die engine benutzt und in deinem projekt "singlethreaded" aktiviert hast kommt es zu linker fehlern. |
|
Nach oben |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 25.07.2005, 21:08 Titel: |
|
|
also, das prob war die pragma anweisung mit der ich das linke. Irgendwas mache ich da falsch, wenn ich die lib einfach in die linkereinstellungen schreibe geht es. Wo muss man das pragma den überhaupt hinschreiben? in die main, in jede .h die die benutzt, oder in jede .cpp? oder nur in eine? vielelihct in eine global.h? ka, ob das ne rolle spielt, jedenfalls war das pragma für die fehelr verantwortlich. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
 |
Kronos Senior JLI'ler

Anmeldedatum: 19.03.2004 Beiträge: 290
Medaillen: Keine
|
Verfasst am: 26.07.2005, 06:56 Titel: |
|
|
It's easier to optimize correct code than to correct optimized code.
Nur mal so als Hinweis
Edit: Und noch ein Zitat:
Zitat: |
Premature optimization is the root of all evil.
| Donald Knuth _________________
David hat Folgendes geschrieben: | Solang meine Beiträge konstruktiver sind als deiner bin ich zufrieden... |
Kein Kommentar notwendig. :rolleyes: |
|
Nach oben |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 26.07.2005, 10:05 Titel: |
|
|
aber ich wollte doch net opitmieren, ich wollte doch nur direkt in der Datei linken. Vielleihct weil das übersichtlicher ist, und wiel, wenn man den Source weitergibt, keiner endlose Linkereinstellungen machen muss. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
 |
|