Nachdem sich meine eigene Suche nach einer brauchbaren Anleitung als sehr schwierig erwiesen hat und es mir nun gelungen ist eine funktionierende, wenn auch deutlich größere .dll zu erzeugen, werde ich mal mein neu gewonnenes Wissen teilen.
Erfahrene Anwender können sich dabei den epischen Text und die Abbildungen ersparen und das Tutorial mittels der fettgedruckten Schlagwörter abarbeiten.
Mein besonderer Dank gilt Kael und DaveMcW (fanatics) für die Grundlagen dieses Tutorials und MatzeHH aus unserem Forum, der half meine letzten Probleme zu überwinden.
Vorraussetzungen:
Für die Erzeugung der CvGameCoreDLL.dll ist nicht mehr als ein (korrekter) uncompilierter SourceCode, 3 zusätzliche Dateien (hier erhältlich) und eine Reihe kostenlos erhältlicher Programme erforderlich.
Den Original-SourceCode von BTS findet man z.B. in ...\Beyond the Sword\CvGameCoreDLL
Ansonsten braucht es folgende Programme:
Microsoft Visual C++ Toolkit 2003
Platform SDK
CodeBlocks
Vorgehen:
1. Download und Installation von Microsoft Visual C++ Toolkit 2003
2. Download von 3 Dateien: msvcrt.lib, msvcrtd.lib und msvcprt.lib
3. Man bringe obige Dateien in den Lib-Ordner von Microsoft Visual C++ Toolkit 2003. Sofern man den Installationspfad nicht verändert hat, sollte das hier sein: C:\Programme\Microsoft Visual C++ Toolkit 2003\lib.
4. Download und Installation von Platform SDK (typische Installation)
5. Download und Installation von CodeBlocks "without compiler" (Full installation)
6. Beim ersten Start nach der Installation lege man Microsoft Visual C++ Toolkit 2003 als default compiler fest und schließe danach das Fenster.
Im Anschluß startet CodeBlocks. Wahrscheinlich erhält man nun zunächst ein Fenster mit Tipps zum Programm. Dieses Fenster ist zu schließen. Man gelangt auf die eigentliche Oberfläche von CodeBlocks. Hier sind nun noch einige Einstellungen vorzunehmen...
7. Man wähle im DropDown-Menü Settings den Eintrag Compiler und im sich öffnenden Fenster den Reiter Directories
Die Karte Directories enthält dabei selber 3 weitere Karten (Compiler, Linker, Recource Compiler).
Man trage unter Compiler (mittels Add) folgende Zeile ein: C:\Programme\Microsoft Platform SDK\Include
Ebenso trage man unter Linker diese Zeile ein: C:\Programme\Microsoft Platform SDK\Lib
(Sofern man andere Installationspfade gewählt hat, bitte entsprechend anpassen)
Man schließe das Fenster mit OK.
----------------------------
Der erste Teil der Anleitung ist nur einmalig auszuführen, die nun folgenden Schritt im zweiten Teil müssen stets wiederholt werden!
----------------------------
8. Man wähle unter File den Eintrag Open und navigiere zum Ordner CvGameCoreDLL. Dort suche und lösche man zunächst die RC-Datei CvGameCoreDLL.rc (via Rechtsklick-Kontextmenü), sofern vorhanden. Danach wähle und öffne man die Projekt-Datei CvGameCoreDLL.vcproj.
Als Compiler wähle man natürlich Microsoft Visual C++ Toolkit 2003. Das nächste Fenster bestätige man einfach mit OK.
Anmerkung:
Um die Dateien sehen zu können, ist als Dateityp ggf. der Eintrag All files (*.*) zu wählen! Ferner kann die Datei vom Typ auch etwas anders bezeichnet sein, z.B. als VCExpress.vcproj.8.0
9. Unter Default workspace erscheint das geöffnete Projekt CvGameCoreDLL mit Unterordnern. Man lösche den Ordner Others, sofern vorhanden, weil er einen Verweiß auf die gelöschte Datei CvGameCoreDLL.rc enthält. Der Ordner wird gelöscht, indem man seinen Inhalt löscht (siehe Abbildung).
10. Nun gehe man unter Project auf Build options. Es öffnet sich ein Fenster indem man (oben links) Final Release auswählt.
Man wähle die Karte Compiler.
Auf der Unterkarte Compiler Flags ist der Haken bei Produce debugging symbols [/Zi] zu entfernen.
Auf der Unterkarte Other options ändere man den Eintrag EHsc zu /EHsc.
Man wähle die Karte Linker und füge der link library einen neuen Eintrag user32 hinzu und lösche die linker option /pdb:Final Release\CvGameCoreDLL.pdb. Im Anschluß schließe man mit OK.
11. Nun gehe man auf Build, dort auf Select target... und setze dort den Haken auf Final Release.
12. Als nächstes gehe man auf File und speichere dort das Projekt mittels Save project. Dies erzeugt ein CodeBlock-Projekt (.cbp), welches in der Zukunft benutzt werden kann.
13. Zum Abschluß gehe man auf Build und gebe den Befehl den Compiliervorgang zu starten mittels Build. Dieser nimmt jedoch einige Zeit in Anspruch. Fertig.
Nachtrag:
Eine deutlich kleinere DLL erhält man durch einen Haken bei "Minimize Space". Auch diverse Optimierungen können scheinbar problemlos ausgewählt werden, also z.B. Optimierungen auf P4 usw.