Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

26.07.2009, 20:41

wxWidgets kompilieren

Ich habe ein ziemlich seltsames Problem: Ich möchte einen Viewer für eine Modellklasse schreiben, die ich geschrieben habe. Nun habe ich also wxWidgets runtergeladen und kompiliert. Die Beispiele lassen sich alle kompilieren, und der Viewer auch teilweise. Sobald ich aber meine Lib linke, kommen massig seltsame Fehler:

Hier mal ein paar Beispiele:

Quellcode

1
2
3
4
5
6
Fehler  1   error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) ist bereits in Mrl.lib(Model.obj) definiert.    msvcprt.lib




Fehler  3   error LNK2005: "public: class std::locale::facet * __thiscall std::locale::facet::_Decref(void)" (?_Decref@facet@locale@std@@QAEPAV123@XZ) ist bereits in Mrl.lib(Manager.obj) definiert.   msvcprt.lib

Wie kommt das, dass so viel doppelt definiert sein kann? Wird das irgendwie in meine Lib (Mrl.lib) reinkompiliert? Kann ich das irgendwie verhindern?
Lieber dumm fragen, als dumm bleiben!

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

2

26.07.2009, 23:02

überprüf mal ob du die .lib und dein programm mit den gleichen runtime library einstellungen kompiliert hast.
in visual studio: properties -> c/c++ -> code generation -> linker -> runtime library oder so ähnlich
"Don't trust your eyes: They are a hell of a lot smarter than you are"

3

26.07.2009, 23:35

Hm, die war bei dem Programm auf Multithreaded Dll, bei der Lib nur auf Multithreaded, jetzt sind beide Multithreaded aber die Fehler bleiben gleich.
Lieber dumm fragen, als dumm bleiben!

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

4

27.07.2009, 15:14

hmm... ich hatte glaube ich mal einen ähnlichen fehler als ich versuchte SFML statisch zu linken. als ich dann dynamisch gelinkt habe, hats geklappt
"Don't trust your eyes: They are a hell of a lot smarter than you are"

5

27.07.2009, 19:12

http://www.c-plusplus.de/forum/viewtopic-var-p-is-1750416.html#1750416

Dicht dran, ich hatte beide auf statisch. Auf die Idee solche Kombinationen auszuprobieren bin ich gar nicht gekommen :)
Lieber dumm fragen, als dumm bleiben!

Werbeanzeige