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

17.08.2011, 19:44

BulletPhysics Linkerfehler

Darf ich auch nochmal kurz ne Frage stellen:
Also ich wollte BulletPhysics nun in ein mein Spiel linken was muss ich dafür alles machen?
(sry habe noch nie mit Bullet gearbeitet)
Und ich habe die Bsp geöffnet angeguckt und erstellt funktionieren auch alle echt geil!!!
Aber nun wollte ich einem Freund eine Bsp exe schiken, alle DLLs sind drinne die benötigt werden. Ich habe mal gelesen das wenn ich ein projekt weitergeben möchte ich es erst unter (MSVC++ 2010) Eigenschaften->C++->Codegenerierung unter Laufzeitbibliothek multithread debug angeben muss.
So mache ich es immer dann läuts beim Freund.
Nun wollte ich erstellen und bekomme Linkerfehler:

Quellcode

1
Fehler  6   error LNK2005: _strncmp ist bereits in LIBCMTD.lib(strncmp.obj) definiert.    MSVCRTD.lib(MSVCR100D.dll)

Kommen noch viele zb _malloc _free usw und noch:

Quellcode

1
Fehler  11  error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) ist bereits in LIBCMTD.lib(typinfo.obj) definiert.    MSVCRTD.lib(ti_inst.obj)

Was mach ich da Falsch?
PS mein freund hat DirectX und vcredist installiert und trotzdem geht es ohne die einstellung(linken multithread) nicht!
Danke MFG

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

2

17.08.2011, 20:06

Wenn dein Programm statisch linkt müssen auch alle Bibliotheken die du benutzt statisch linken. Ansonsten hast du nur die Nachteile von beiden und evtl. Linkerfehler.
Was kommt bei ihm denn für eine Fehlermeldung? Kann es sein, dass du ihm die Debugversion schickst?

edit: @Mod: Danke fürs Splitten :D
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »NachoMan« (17.08.2011, 22:52)


dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

3

17.08.2011, 23:01

Wie NachoMan schon gesagt hat: Das Problem ist dass deine Anwendung eine andere Version der Runtime linked als deine Bullet lib.
Ich habe mal gelesen das wenn ich ein projekt weitergeben möchte ich es erst unter (MSVC++ 2010) Eigenschaften->C++->Codegenerierung unter Laufzeitbibliothek multithread debug angeben muss.

Auch wenn das leider sehr oft als schneller "Fix" (die "" sind durchaus Absicht) des Problems mit der Runtime empfohlen wird: Das ist wohl genau dein Fehler, wenn müsstest du es eben für sämtliche libs die du so linkst umstellen. Diese Einstellung sorgt im Prinzip dafür, dass die Runtime in die exe gepackt wird und daher am Zielrechner nichtmehr extra installiert werden muss. Und da dein Freund die Runtimes ja schon installiert hat läufts bei ihm auch so. Und es hat seine Gründe warum die Standardeinstellung eben genau eine andere ist :!: Da solltest du nur was umstellen wenn du wirklich weißt warum dus tust und einige sehr gute Gründe dafür hast. Und denk dran deinem Freund nur eine Release-Version zu schicken, denn mit deiner Debug-Version wird der nichts anfangen können, sofern er kein Visual Studio installiert hat...

@NachoMan: Bitte ;)

Dieser Beitrag wurde bereits 10 mal editiert, zuletzt von »dot« (17.08.2011, 23:21)


4

19.08.2011, 14:29

Danke
Also Fehlermeldung: MSVCP2000 wurde nicht gefunden.
wenn ich die mitliefer kommt noch ein DLL Fehler dann wieder DLL Rein und dann kommt Side by Side konfiguration nicht Korrekt.
Und an die release version habe ich noch nicht gedacht ~.~
MFG

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

5

19.08.2011, 16:38

Kommen die Fehler mit der Release Version?

6

21.08.2011, 13:53

Leider kann ich das jetzt nicht mehr testen denn er hat Visual Studio eben installiert.
Ich könnte es aber auf ner virtuellen maschine (XP) laufen lassen.
Ich melde mich dann nochmal
MFG

Werbeanzeige