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

21

28.11.2010, 20:23

dann x64, nicht x86...;)

scdi

Frischling

  • Private Nachricht senden

22

29.11.2010, 16:09

hm, das hab ich auch schon probiert, allerdings kommen dann die gleichen fehlermeldungen :(

23

29.11.2010, 17:38

Sicher, dass du alles so gemacht hast, wie max_one es beschrieben hat?
Ich habe es genau so gemacht, als ich vor 2-3 Wochen mit dem Buch begonnen habe.
Ich habe ebenfalls Win 7 x64 und VC++ 2010. Im Gegensatz zu dir habe ich aber das Win SDK nochmal teilweise runtergeladen.
Allerdings trat beim WebInstaller des Win SDKs immer ein Fehler auf, sodass ich es nicht ganz herunterladen konnte.
Die include sowie lib und bin Ordner scheinen aber vollständig zu sein, denn bis jetzt geht alles.

lg

24

20.12.2010, 15:33

Hallo an alle

wollte mich nur kurz für die super anleitung
von max one und den restlichen bedanken
hat mir sehr geholfen war schon frustriert
das nichts funktioniert xD

Mfg Danichek :thumbsup:

25

23.02.2011, 18:44

Hallo zusammen,

ich bin der Neue und habe auch Win7 & VC++ 2010.

Erstmal dickes Lob an max_one. Dein Beitrag hat meinen Tag gerettet. :)

Ich wäre aber fast an einer ungeheuren Anzahl an "...error LNK2001: Nicht aufgelöstes externes Symbol..." Meldungen gescheitert.

Der Fehler bei mir: Verzeichnis des Windows SDK. Ich bin einen Ordner zu weit gegangen.

Das benötigte Verzeichnis: ...\Microsoft SDKs\Windows\v7.0\Lib (ENDE! ;) )

26

11.03.2011, 17:51

Hallo,
Auch ich versuche mit der TriBase Engine unter Windows 7 64 mit VS 2010 zu arbeiten.

Um die Engine zu kompilieren, bin ich zunächst exakt nach der Anleitung weiter oben vorgegangen ( Mal wieder: 3D-Spiele-Programmierung unter Win 7, VC++ 2010 ).
Soweit hat dann auch alles ganz gut funktioniert, TriBase wird erfolgreich kompiliert, sowohl im Debug Modus als auch im Release Modus. Allerdings wirft VS beim kompilieren im Debug Modus einige Warnungen aus:

Zitat


1> Creating library .\Debug/TriBaseD.lib and object .\Debug/TriBaseD.exp
1>strmbased.lib(amfilter.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'strmbased.lib(amfilter.obj)' or at 'E:\SW II\TriBase\Debug\vc80.pdb'; linking object as if no debug info
1>strmbased.lib(amvideo.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'strmbased.lib(amvideo.obj)' or at 'E:\SW II\TriBase\Debug\vc80.pdb'; linking object as if no debug info
1>strmbased.lib(asyncio.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'strmbased.lib(asyncio.obj)' or at 'E:\SW II\TriBase\Debug\vc80.pdb'; linking object as if no debug info
1>strmbased.lib(asyncrdr.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'strmbased.lib(asyncrdr.obj)' or at 'E:\SW II\TriBase\Debug\vc80.pdb'; linking object as if no debug info
1>strmbased.lib(combase.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'strmbased.lib(combase.obj)' or at 'E:\SW II\TriBase\Debug\vc80.pdb'; linking object as if no debug info
1>strmbased.lib(ctlutil.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'strmbased.lib(ctlutil.obj)' or at 'E:\SW II\TriBase\Debug\vc80.pdb'; linking object as if no debug info
1>strmbased.lib(mtype.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'strmbased.lib(mtype.obj)' or at 'E:\SW II\TriBase\Debug\vc80.pdb'; linking object as if no debug info
1>strmbased.lib(renbase.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'strmbased.lib(renbase.obj)' or at 'E:\SW II\TriBase\Debug\vc80.pdb'; linking object as if no debug info
1>strmbased.lib(wxdebug.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'strmbased.lib(wxdebug.obj)' or at 'E:\SW II\TriBase\Debug\vc80.pdb'; linking object as if no debug info
1>strmbased.lib(wxlist.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'strmbased.lib(wxlist.obj)' or at 'E:\SW II\TriBase\Debug\vc80.pdb'; linking object as if no debug info
1>strmbased.lib(wxutil.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'strmbased.lib(wxutil.obj)' or at 'E:\SW II\TriBase\Debug\vc80.pdb'; linking object as if no debug info
1>Manifest:
1> Deleting file ".\Debug\TriBaseD.dll.embed.manifest".
1>LinkEmbedManifest:
1> TriBase 2005.vcxproj -> E:\SW II\TriBase\.\Debug\TriBaseD.dll
1>PostBuildEvent:
1> 1 Datei(en) kopiert.
1> Zugriff verweigert
1> 0 Datei(en) kopiert.
1> 1 Datei(en) kopiert.
1>FinalizeBuildStatus:
1> Deleting file ".\Debug\TriBase.unsuccessfulbuild".
1> Touching ".\Debug\TriBase.lastbuildstate".
1>
1>Build succeeded.
1>
1>Time Elapsed 00:00:26.95
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========


Da der Build aber erfolgreich war, hab ich diese zunächst ignoriert.
Nun habe ich aber das Problem, dass die Spiele, die auf der CD mitgeliefert werden, nicht laufen. Getestet habe ich Breakanoid und Galactica. Beide Spiele habe ich erfolgreich kompiliert, wenn ich eines der Spiele starten will, erhalte ich aber folgende Fehlermeldung in einem Popup-Fenster:

Zitat


Unhandled exception at 0x6077d3a9 in Breakanoid.exe: 0xC0000005: Access violation reading location 0x00000000.


Ich teste nun seit Stunden daran rum, bekomme es aber einfach nicht ans Laufen. Die TriBaseD.dll habe ich in den Ordner des Spiels sowie in den System32 Ordner von Windows kopiert, es hilft aber alles nichts.
Da der einzige Punkt, an dem es von VS immerhin Warnungen beim kompilieren gab, die TriBase Engnie selbst im Debug Modus war, liegt meine Vermutung, dass auch da irgendwo der Fehler liegt.
Dabei ist mir folgendes ins Auge gefallen:

Zitat


Bei Konfigurationseigenschaften → Allgemein → Zielname „TriBase“ für die ReleaseVersion und „TriBaseD“ für die DebugVersion angeben. Unter Konfigurationseigenschaften → Bibliothekar → Allgemein sollte die Ausgabedatei entsprechend „Release\TriBase.lib“ bei der ReleaseVersion und „Debug\TriBaseD.lib“ bei der DebugVersion sein.


Dies ist die einzige Stelle, bei der ich nicht genau nach der Anleitung vorgehen konnte. Erstens gibt es bei mit in den Konfigurationseigenschaften keinen Bibliothekar, daher hab ich diese Einstellungen unter "Linker" vorgenommen. Zweitens funktioniert das ganze nicht, wenn ich die Ausgabedateien auf .lib enden lasse. Die Dateiendung des Zielnamens ist .dll, daher wirft VS einen Fehler aus, sobald ich die Ausgabedateien TriBase.lib und TriBaseD.lib nenne.

Ich würde mich echt freuen, wenn mir jemand bei dem Problem helfen könnte, denn so langsam bin ich hier absolut verzweifelt :/

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

27

11.03.2011, 18:32

Wenn der Debugger den Fehler gibt dann bleibt er auch irgendwo stehen, nämlich dort wo der Fehler aufgetreten ist...

28

14.03.2011, 17:55

Nach langem herumprobieren habe ich es nun geschafft, sowohl die Engine als auch Beispiele und Spiele komplett fehlerfrei zu kompilieren. Wenn ich zum Beispiel versuche, dass Spiel Breakanoid zu starten, erhalte ich zunächst den TriBase-Engine Konfigurationsdialog, es funktioniert also bis dahin alles. Sobald ich dort jedoch auf ok klicke, erhalte ich ein Popup mit folgender Meldung:

Zitat

Unhandled exception at 0x5c27d3b9 (TriBaseD.dll) in Breakanoid.exe: 0xC0000005: Access violation reading location 0x00000000.


Mir ist aufgefallen, dass alle von der CD kopierten Ordner und Dateien immernoch schreibgeschützt sind, ich vermute daher, dass der Fehler dort liegt. Jedoch habe ich das Problem, dass sich der Schreibschutz nicht entfernen lässt. Wenn ich das Häkchen bei Rechtsklick -> Eigenschaften herausnehme, hat dies überhaupt keinen Effekt.
Klicke ich in der Taskleiste mit Rechtsklick auf mein Breakanoid Symbol und wähle Breakanoid aus, so erhalte ich außerdem die Nachricht, dass ich angeblich versuche, das Programm von einer CD aus zu starten, weswegen keine Log-Datei erstellt werden kann. Alle Dateien der CD befinden sich jedoch auf meiner Festplatte, die CD ist garnicht mehr im Laufwerk.
Also entweder spinnt mein Windows jetzt komplett oder ich übersehe irgendwas offensichtliches...

Weis jemand, wie man den Schreibschutz unter Windows7 64 rausnimmt oder den Fehler mit der angeblichen Ausführung von der CD aus behebt?
Für jegliche Hilfe wäre ich sehr dankbar![/quote]

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

29

14.03.2011, 19:52

Den Schreibschutz für alle untergeordneten Dateien kannst du über die Eigenschaften des übergeordneten Ordners entfernen. Das muss eigentlich funktionieren. Sonst versuche folgendes: Starte Breakanoid mit Admin-Rechten (damit hat die TriBase-Engine Probleme) und sieh dir mal das Log-File an. Evtl. musst du ein paar Effekte bearbeiten (Stichwort Texture texture)

30

15.03.2011, 15:20

Danke für den Tip mit der Log-File, tatsächlich zeigt diese mir den Fehler an :)

Scheinbar liegt es tatsächlich an einigen Effekten:

Zitat


FEHLER: Der Aufruf von D3DXCreateEffect verursachte den DirectX-Fehler E_FAIL! Beschreibung: An undetermined error occurred (tbeffect.cpp, Zeile 63, Funktion tbEffect::Init)
FEHLER: Fehler beim Erstellen des Effekts! (tbfont.cpp, Zeile 100, Funktion tbFont::Init)
FEHLER: Fehler beim Laden der Schriftart! (tbfont.cpp, Zeile 135, Funktion tbFont::Init)
FEHLER: Fehler beim Laden der Schriftart Data\Font1! (breakanoid.cpp, Zeile 164, Funktion CBreakanoid::Load)
FEHLER: Fehler beim Laden des Spiels! (breakanoid.cpp, Zeile 80, Funktion CBreakanoid::Init)

Werbeanzeige