Pre DirectX Tutorial: Teil 5 - Compilereinstellungen
Heya und Hallo zum 5. Teil
Heute werden wir uns eingehend mit dem Compiler auseinandersetzen. Um ein DirectX
Programm zu compilieren genügt es leider nicht immer die ganzen Includes
etc. einzubinden, sondern man muß etwas umsichtiger zu Werke gehen.
Ich werde beschreiben wie ihr ein neues Projekt erschafft, die DirectX Dateien
einbindet und schließlich eure Programme compiliert und zwar erst mit
dem Microsoft Visual C++ 6, dann Borland C++ 5 und schließlich Borland
C++ Builder 4. Wenn ihr einen anderen Compiler nutzt: keine Panik - da wird
es so ähnlich funktionieren und wenn ihr nicht zurecht kommt könnt
ihr mir immer noch mailen.
Microsoft Visual C++ 6
Ich gehe davon aus ihr habt ein DirectX SDK auf eurem Rechner installiert.
Alles über Version 5 ist O.K. Des weiteren habt ihr den Microsoft Visual
C++ 6 (oder eine Version davon) auf eurem Rechner installiert. Außerdem
solltet ihr wissen wie man mit dem Dateimanager umgeht ;)
Bevor ihr den VC++ Compiler startet müsst ihr noch eine Kleinigkeit erledigen.
In dem /include/ Verzeichnis eures Compilers liegen nämlich schon die Header
Dateien von DirectX. Dummerweise aber die von DirectX 3, also völlig veraltete.
Wenn ihr nun in eurem Projekt neuere Header angebt, so würde VC++ trotzdem
die alten nehmen. Nerv!
Also habt ihr 2 Möglichkeiten. Die erste ist: ihr kopiert einfach den
Inhalt des /include/ Verzeichnisses eures DirectX SDKs in das /include/ Verzeichnis
eures Compilers. Das hat den Vorteil: kein Gefummel, ihr überschreibt einfach
den alten Müll, hat aber den Nachteil - ihr könnt nicht mehrere DX
SDKs parallel nutzen.
Die zweite Möglichkeit ist, das ihr die ganzen alte DX Header löscht.
Ihr schaut in eurem SDK nach welche Header es alles gibt und sucht diese im
include Verzeichnis des Compilers (Meißtens C:\VC\INCLUDE\). Alternative:
Zieht euch hier eine Batch Datei, die ihr in euer Include Verzeichnis kopiert
und aufruft. Diese löscht dann alle alten Dateien.
Jetzt gehts los - startet VC++. Dann geht ihr in der Menüleiste auf "File/
New". Jetzt öffnet sich eine Dialog Box. Links wählt ihr als
Zielplattform "Win32 Application" aus. Gebt einen Namen und Verzeichnis
für euer Projakt ein und klickt auf O.K. Nun öffnet sich der Application
Wizard. Sagt ihm, er soll "An emtpy Project" erzeugen, klickt auf
"Finish" und bestätigt. Jetzt habt ihr ein neues Projekt vor
euch.
Als erstes geht ihr auf "Project/ Add to Project/ New". In der Dialog
Box klickt ihr auf "C++ Source File", gebt einen Namen ein und bestätigt.
Daraufhin habt ihr jetzt die C++ Datei vor euch in der euer Code reingehört.
Nun geht ihr auf "Project/ Add to Project/ Files...". Daraufhin öffnet
sich ein Dateifenster. Als Dateityp wählt ihr "Library Files (LIB)"
aus. Dann geht in euer DX SDK Verzeichnis in /LIB/ und klickt auf "DDRAW.LIB"
und danach auf O.K. Das gleiche Spiel macht ihr für die "DXGUID.LIB".
Nun müssen wir VC++ nur noch klar machen, wo sich das DX SDK befindet.
Dazu gehen wir in "Tools/ Options". In der Dialog Box wählen
wir den Reiter "Directories" aus. Jetzt klickt auf die unterste (leere)
Zeile und fürgt das /INCLUDE/ Verzeichnis eures SDKs hinzu. Fertig.
Borland C++ 5
Ich gehe davon aus ihr habt ein DirectX SDK auf eurem Rechner installiert.
Alles über Version 5 ist O.K. Des weiteren habt ihr den Borland C++ 5 (oder
eine Version davon) auf eurem Rechner installiert. Außerdem solltet ihr
wissen wie man mit dem Dateimanager umgeht ;)
Bevor ihr den Borland C++ Compiler startet müsst ihr noch eine Kleinigkeit
erledigen. In dem /include/ Verzeichnis eures Compilers liegen nämlich
schon die Header Dateien von DirectX. Dummerweise aber die von DirectX 3, also
völlig veraltete. Wenn ihr nun in eurem Projekt neuere Header angebt, so
würde Borland C++ trotzdem die alten nehmen. Nerv!
Also habt ihr 2 Möglichkeiten. Die erste ist: ihr kopiert einfach den
Inhalt des /include/ Verzeichnisses eures DirectX SDKs in das /include/ Verzeichnis
eures Compilers. Das hat den Vorteil: kein Gefummel, ihr überschreibt einfach
den alten Müll, hat aber den Nachteil - ihr könnt nicht mehrere DX
SDKs parallel nutzen.
Die zweite Möglichkeit ist, das ihr die ganzen alte DX Header löscht.
Ihr schaut in eurem SDK nach welche Header es alles gibt und sucht diese im
include Verzeichnis des Compilers (Meißtens C:\BC5\INCLUDE\). Alternative:
Zieht euch hier eine Batch Datei, die ihr in euer Include Verzeichnis kopiert
und aufruft. Diese löscht dann alle alten Dateien.
Jetzt seid ihr soweit das ihr den Compiler starten könnt. Ihr öffnet
als erstes ein neues Projekt: Datei/ Neu/ Projekt.... In der Dialog Box gebt
ihr erst das Verzeichnis und den Namen ein. Der Zieltyp ist Anwendung. Die Umgebung
Win32 und das Zielmodell GUI. Nun auf O.K. klicken und das Projekt sollte sich
öffnen.
Auf der rechten Seite seht ihr nun ein Fenster mit den eingebundenen Dateien.
Standard für ein neues Projekt ist eine .CPP, eine .DEF und eine .RC Datei
mit dem Namen eures Projektes. Die .DEF und die .RC könnt ihr löschen
(anwählen und "Entf" auf der Tastatur drücken). Statt dessen
bindet ihr die grundlegenden DirectX Dateien ein. Dazu klickt ihr erst mit der
linken Maustaste ganz oben im Projektfenster auf den Namen eurer Projekt.EXE
und dann mit der rechten Maustaste in das Projektfenster und wählt "Knoten
hinzufügen" aus. Nun öffnet sich ein Dateifenster zum auswählen
der Datei. Als Dateityp wählt ihr "Bibliotheken (*.lib)" aus
und geht in das Verzeichnis eures DirectX SDKs. Dort wählt ihr unter /lib/Borland/
die Datei "DDRAW.LIB" aus. Achtet darauf das ihr nicht in dem /LIB/,
sondern in dem /LIB/BORLAND/ Verzeichnis seid!!! Das gleiche Spiel macht ihr
noch einmal für die LIB namens "DXGUID.LIB".
Soweit dazu. Jetzt geht ihr in der Menüleiste auf "Optionen/ Projekt".
Daraufhin öffnet sich wieder eine Dialog Box. Ganz oben im Auswahlfenster
seht ihr den Punkt "Verzeichnisse". Wählt diesen aus und nun
seht ihr rechts die "Quelltextverzeichnisse". Hier fügt ihr nun
unter Include das Verzeichnis eures DX SDKs hinzu (Bsp: c:\bc5\include;e:\mtcode\dx5sdk\include).
In die Bibliothek Zeile kommt das Verzeichnis eurer DX SDK Libs (aber Vorsicht!
Auch hier wieder das Borland Verzeichnis nehmen!!!). (Bsp: c:\bc5\lib; e:\mtcode\dx5sdk\lib\borland).
Jetzt auf O.K.
Das wars eigentlich schon, was ihr für ein grundlegendes DirectX Programm
benötigt. Jetzt könnt ihr im Projektfenster auf die Projektname.CPP
doppelklicken und anfangen den Code reinzuhacken.
Borland C++ Builder 4
Ich gehe davon aus ihr habt ein DirectX SDK auf eurem Rechner installiert.
Alles über Version 5 ist O.K. Des weiteren habt ihr den Borland C++ Builder
4 (oder eine Version davon) auf eurem Rechner installiert. Außerdem solltet
ihr wissen wie man mit dem Dateimanager umgeht ;)
Bevor ihr den Borland C++ Compiler startet müsst ihr noch eine Kleinigkeit
erledigen. In dem /include/ Verzeichnis eures Compilers liegen nämlich
schon die Header Dateien von DirectX. Dummerweise aber die von DirectX 3 , also
völlig veraltete. Wenn ihr nun in eurem Projekt neuere Header angebt, so
würde der Builder trotzdem die alten nehmen. Nerv!
Also habt ihr 2 Möglichkeiten. Die erste ist: ihr kopiert einfach den
Inhalt des /include/ Verzeichnisses eures DirectX SDKs in das /include/ Verzeichnis
eures Compilers. Das hat den Vorteil: kein Gefummel, ihr überschreibt einfach
den alten Müll, hat aber den Nachteil - ihr könnt nicht mehrere DX
SDKs parallel nutzen.
Die zweite Möglichkeit ist, das ihr die ganzen alte DX Header löscht.
Ihr schaut in eurem SDK nach welche Header es alles gibt und sucht diese im
include Verzeichnis des Compilers (Meißtens C:\BCB\INCLUDE\). Alternative:
Zieht euch hier eine Batch Datei, die ihr in euer Include Verzeichnis kopiert
und aufruft. Diese löscht dann alle alten Dateien.
Jetzt könnt ihr den Builder starten. Nun öffnen wir ein neues Projekt.
Untersteht euch aber ein normales Builder Projekt mit Forms und dem ganzen anderen
"Müll" zu erstellen. Mal ehrlich - diese Art von Doppelklickprogrammierung
ruft bei mir Grauen hervor. Wer will schon ernsthaft das der Compiler einem
in seinem Code herumpfuscht? Also der Builder weckt bei mir Alpträume.
Egal, kommen wir zum Thema: geht auf "Datei/ Neu" und klickt in der
Dialog Box auf "Konsolen Experte". Wählt als Ziel "Window
(GUI)". Ausführungstyp .EXE und KEINE VCL! Fertig stellen.
Jetzt habt ihr ein leeres Projekt vor euch. Ihr geht jetzt auf "Projekt/
Optionen". In der Dialogbox klickt ihr auf den Reiter "Verzeichnisse/
Bedingungen". Nun klickt ihr auf die Punkte neben dem Include Pfad und
setzt den Pfad zu dem /INCLUDE/ Verzeichnis von eurem DirectX SDK. Selbiges
macht ihr für den Bibliothekspfad. Aber hier beachten das ihr nicht das
/LIB/ Verzeichnis eures SDKs nehmt, sondern /LIB/BORLAND/ !
Verlaßt die Dialog Box und geht in "Projekt/ Dem Projekt hinzufügen".
Als Dateityp wählt ihr "Bibliothek (.lib)" aus und wechselt in
euer SDK. Dort wählt ihr aus dem /LIB/ BORLAND/ Verzeichnis die Dateien
"DDRAW.LIB" und "DXGUID.LIB" aus.
Wars das? Nicht ganz. Dummerweise gibt es noch eine andere Besonderheit beim
Builder. Ihr müsst eine Sache zusätzlich einbinden und zwar bevor
ihr die DirectX Header einfügt:
#if defined( __BORLANDC__ ) && defined( __WIN32__ )
#define _WIN32
#endif
Danach könnt ihr euren restlichen Code einfügen.
...
Ihr seht das Prinzip ist immer gleich: erst evtl vorhandene, alte DX Dateien
entfernen und anschließend ein neues Projekt öffnen. Den Weg zu dem
SDK festlegen, die Libs einbinden, fertig. Dann können wir uns ja jetzt
dem Spaß widmen und das bisher gelernte endlich zu einem DirectX Programm
zusammenfügen.
Delax
[delax@sundancerinc.de]