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

Anonymous

unregistriert

1

09.04.2006, 16:04

Kompilieren der triBase Engine MS VC++ 2005 Express

Hallo,

ich habe mir gestern die dritte Auflage des Buches gekauft und versuche die Beispiele zu komplieren.

Leider kommt es dabei zu Fehlern und das Verhalten unterscheidet sich von dem aus dem How-To aus diesem Forum.

Wenn ich versuche die Engine zu komplieren bekomme ich die folgende Meldung:

Zitat

fatal error C1047: Die Objekt- oder Bibliotheksdatei "C:\Programme\TriBase\Lib\strmbase.lib" wurde mit einem älteren Compiler als andere Objekte erstellt. Erstellen Sie die alten Objekte und Bibliotheken neu.


Allerdings habe ich die strmbase.lib erst eine Minute vorher mit dem selben Compiler erzeugt - also die BaseClasses compiliert.

Auch das Einbinden von den angegeben *.lib Dateien schein bei mir nicht notwendig zu sein; ich erhalte dann die Meldung das diese anscheinend schon eingebunden sind.

Über Hilfe und Denkanstöße würde ich mich freuen.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

09.04.2006, 17:52

Du sagst, Du hast die Base-Classes neu kompiliert.
Hast Du denn auch die davon erzeugten LIB-Dateien in den richtigen Ordner gepackt? Wahrscheinlich hast Du das nicht, und darum verwendet der Compiler immer noch die alte Version.

Anonymous

unregistriert

3

10.04.2006, 17:35

Danke für deine Antwort, aber leider bin ich nicht wirklich weiter gekommen.

So wie ich das sehe werden die strmbased.lib und strmbase.lib doch automatisch nach ./tribase/lib kopiert. Wenn ich sie manuell nach ./tribase/lib kopiere ändert das allerdings auch nichts.

Das Problem tritt übrigens nur bei der Releaseversion auf.
Bei der Debugversion akzeptiert er die strmbaseD.lib

Bei der Debugversion gab es aber Probleme mit der "stlport_vc71_static.lib" die er nicht öffnen konnte. Vermutlich weil die Datei überhaupt nicht existiert :)

In einem anderen Thread stand etwas davon, das dies an einer nicht installierten SDK liegt; das ist bei mir aber nicht der Fall. Hab's auf 2 Rechnern getestet.

Durch googeln bin ich auch nicht wirklich draufgekommen für was diese "stlport_vc71_static.lib" gut sein soll, deshalb hab ich bei den Projekteigenschaften der Engine eingestellt, daß sie ignoriert werden soll.

Jetzt gibt es nur noch ein paar Fehler vom Typ

Quellcode

1
strmbasd.lib(renbase.obj) : error LNK2005: "public: virtual int __thiscall CBaseRenderer::HaveCurrentSample(void)" (?HaveCurrentSample@CBaseRenderer@@UAEHXZ) ist bereits in strmbased.lib(renbase.obj) definiert.


und danach folgende Fehlermeldung

Quellcode

1
2
Bibliothek ".\Debug/TriBaseD.lib" und Objekt ".\Debug/TriBaseD.exp" werden erstellt.
Debug/TriBaseD.dll : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.


Darf ich die "stlport_vc71_static.lib" einfach ignorieren?
Hat mich das weiter gebracht?
Wieso das unterschiedliche Verhalten von Release- und Debug-version?

4

10.04.2006, 20:36

Leider kann ich meinen letzten Beitrag nicht editieren, weil ich ihn als Gast geschrieben habe, aber dann kommt eben hier die Entwarnung.

Ich habe mir vor dem Neucompilieren schon eine Kopie von der Engine in ein anderes Verzeichnis gezogen und den Lib und Include Pfad dorthin gesetzt. Und dort lag eben noch eine alte Bibliotheksdatei rum :crying:

the[V]oid

Alter Hase

Beiträge: 775

Wohnort: Aachen

  • Private Nachricht senden

5

27.06.2007, 15:15

Hey Mäxle, wie genau hast du das Problem mit stlport_vc71_static.lib in den Griff bekommen? Genau das habe ich nun nämlich auch... Wenn ich dieses Ignore-Zeugs in den Projekteinstellungen aktiviere, kriege ich 828 Linker Fehler, wie die, die du beschrieben hast :( Bitte um Hilfe...

ivcur

Frischling

Beiträge: 1

Wohnort: Schweiz

  • Private Nachricht senden

6

09.11.2008, 02:27

Danke Mäxle,

Hatte denselben Linker-Fehler mit der Meldung zu stlport_vc71_static.lib und konnte das Tribase-Projekt nicht erstellen (habe Visual Studio 2005 und 3. Auflage des Buches).
Habe die Strmbase.lib und Strmbase.lib Dateien im Lib-Verzeichnis gelöscht und neu mittels baseclasses.sln Projekt (in Tribase/Include/DShowclasses) kompiliert. Das ging problemlos. Die Tribase.lib hatte ich auch gelöscht zur Sicherheit.
Danach das Tribase-Projekt nochmals neu erstellt und der Fehler war weg. Auch alle restlichen Projekte liessen sich danach ohne Fehler erstellen.

Na dann mal los..

Werbeanzeige