Hey,
es wäre doch schön, wenn du die Lösung, die du gefunden hast, noch hier mitteilst - so kann anderen mit ähnlichen Problemen direkt weitergeholfen werden.
Ich habe mal, nachdem ich die TriBaseEngine unter Windows 7 mit Visual Studio 2010 aufgesetzt habe, die einzelnen Schritte aufgeschrieben. Viele Informationen stammen hier aus dem Forum, es ist also mehr eine Sammlung der Lösungen aus dem Forum für Windows 7 / VS 2010
Anleitung für die Einrichtung der TriBase – Engine in Kombination mit Visual Studio 2010
Getestet unter Windows 7 64 bit & 32 bit
Visual Studio am besten als Administrator ausführen. Dazu Rechtsklick auf den Shortcut → als Administrator ausführen (nicht möglich/nötig unter XP). ACHTUNG: auf diese Weise werden die erstellten DLLs automatisch nach Windows\System32 kopiert (auf eigene Gefahr).
Windows SDK sowie DirectX SDK installieren (runterladen – neueste Version – nicht von der CD aus dem Buch! (zumindest nicht getestet)).
Die Ordner „TriBase“ und „Beispiele“ von der CD aus dem Buch auf die Festplatte kopieren.
TriBase braucht die richtigen Libs (StrmBase.lib), diese „BaseClasses“ müssen allerdings erst kompiliert werden, da veraltet.
- Dazu das Projekt (TriBase-Verzeichnis)\Include\Debug\BaseClasses.vcproj öffnen und konvertieren (passiert automatisch durch den Dialog).
- Als nächstes die 3 *.h (include-) und *.lib (Bibiliotheks-) Verzeichnisse vom DirectX SDK, Windows SDK und der TriBase hinzufügen:
[list=1] Wie im Buch beschrieben. Achtung: 32bit Versionen benutzen (x86)!
Include-Verzeichnisse:
(TriBase-Verzeichnis)\Include
(DirectX-SDK-Verzeichnis)\Include\
(Windows-SDK-Verzeichnis)\Include\
Lib-Verzeichnisse:
(TriBase-Verzeichnis)\Lib
(DirectX-SDK-Verzeichnis)\Lib\x86
(Windows-SDK-Verzeichnis)\Libdas richtige Windows-SDK-Verzeichnis ist bei Windows 7 64bit im Standardfall unter „
C:\Program Files (x86)\Microsoft SDK\...“
Dazu, damit man nicht jedes Mal die Verzeichnisse neu angeben muss, dieses Tutorial befolgen:
http://blog.kalmbach-software.de/de/2010…fad-in-vc-2010/
[/list]
- Die verlinkten Verzeichnisse werden bei jedem TriBase-basierten Programm benötigt. Anschließend jeweils einmal kompilieren – im Debug- sowie Releasemodus. Zum Entwickeln wird der Debugmodus benutzt.
[list=1] Wahrscheinlich schmeißt Visual Studio hier einen Fehler beim Copybefehl, die Dateinamen sind noch nicht richtig gesetzt. In diesem Fall werden wir sie hardcoden:
[/list] Rechtsklick auf das Projekt → Eigenschaften → Konfigutationseigenschaften → Allgemein → Zielname: „StrmBase“ bei ReleaseVersion und „StrmBaseD“ bei DebugVersion.
Unter Konfigutationseigenschaften → Bibliothekar → Allgemein sollte die Ausgabedatei entsprechend „Release\StrmBase.lib“ bei der ReleaseVersion und „Debug\StrmBaseD.lib“ bei der DebugVersion sein.
- Nun kompilieren mit Rechtsklick auf BaseClasses → Neu Erstellen.
Die eigentliche TriBase.dll wird jetzt erstellt. Dazu die Datei TriBase 2005.vcproj in „TriBase“ mit Visual Studio 2010 öffnen.
- Rechtsklick auf das Projekt → Eigenschaften → Konfigurationseigenschaften → Linker → Eingabe → Zusätzliche Eigenschaften: Hier muss „dxerr9.lib“ in „dxerr.lib“ geändert werden.
- 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.
„
DXErr9.h“ zu „
DXErr.h“ ändern
„
#define DXGetErrorString9 DXGetErrorString“ und
„#
define DXGetErrorDescription9 DXGetErrorDescription“ hinzufügen
den „
#include "mfc/afxres.h"“ Befehl in „
#include “ umändern und das Makro „
#define IDC_STATIC -1“ hinzufügen.
- Rechtsklick auf TriBase → Neu Erstellen!
- Die entstandene Debug\TriBaseD.dll (Bei DebugVersion) muss entweder in den Ordner Windows\System32 kopiert werden oder in den Ordner des Beispieles, das man grade ausführen will.
Fast geschafft! Jetzt kann man schon eines der Beispiele laden (zugehörige vcproj-Datei öffnen)
Folgende Prozedur muss für jedes Beispiel wiederholt werden:
- (wie oben) Rechtsklick auf das Projekt → Eigenschaften → Konfigutationseigenschaften → Linker → Eingabe → Zusätzliche Eigenschaften: Hier muss „dxerr9.lib“ in „dxerr.lib“ geändert werden.
- Resource-Datei des Projektes öffnen:
(wie oben) den „#include "mfc/afxres.h"“ Befehl in „#include “ umändern und das Makro „#define IDC_STATIC -1“ hinzufügen.
- Bei Beispielen bei Projekt → Eigenschaften → Konfigutationseigenschaften → Linker →Allgemein → Ausgabedatei statt eines statischen Dateinamens „$(TargetFileName)“ angeben.
- (Beispiel-Verzeichnis)\Allgemeines\Allgemeines.rc öffnen:
(wie oben) den „#include "mfc/afxres.h"“ Befehl in „#include “ umändern und das Makro „#define IDC_STATIC -1“ hinzufügen.
Nun sollten die meisten Beispiele ohne Fehler im DebugModus kompilierbar sein!