DLL-Bibliothek für Direct X nach Tutorial von PC Aktion kompliiert net mit Dev C



  • Tach allerseits!
    Ich wollte eine DLL-Datei komplieren mit Dev C++. Diese DLL-Datei ist einer Datei für Direct X. Ich bin nach dem Tutorial von der PC Aktion gegangen, die man dich kostenlos runterladen kann. Die Beschreibung ist für Visual C++ und ich arbeite ja mit Dev C++ neuerdings. Ich schätze mal ich habe was falsch gemacht, denn wenn ich das Komplieren will kommen zigtausende Warnungen und er kompliiert die Datei nicht mehr. Hier mal ein Ausschnitt aus dem Tutorial:
    --------------------------------------------------------------------------------
    Schritt 1: Anlegen des neuen Projekts
    Starten Sie die Entwicklungsumgebung Ihres Compilers. Öffnen Sie dann das Dialogfeld zum Anlegen eines neuen Projekts. Unter Visual C 6.0 tun Sie dies, indem Sie im Menü 'Datei' den Menüpunkt 'Neu' wählen. Es erscheint dann das folgende Dialogfeld:

    In der Abbildung sehen Sie die nötigen Einstellungen: Wählen Sie als Projektart 'Win32 Dynamic-Link Library', tragen Sie als Projektnamen 'dx70api' ein und stellen Sie sicher, dass als Pfad Ihr Projektverzeichnis eingestellt ist. Bestätigen Sie Ihre Eingaben mit 'OK' wenn alles stimmt. Visual C bietet nun an, gewisse Dinge vorzubereiten. Wählen Sie 'ein leeres Projekt erstellen', denn die Quelltexte existieren ja bereits.
    Schritt 2: Kopieren der Quelltexte
    Beim Anlegen des Projekts wurde in Ihrem Projektverzeichnis auf der Platte ein Unterverzeichnis mit dem Projektnamen 'dx70api' angelegt. Kopieren Sie die Quelltexte der Bibliothek von der CD in dieses Verzeichnis. Sie finden die Quelltexte auf der CD im Unterverzeichnis 'dx70api' des Verzeichnisses 'Quelltexte'.
    Da die Dateien von einer CD kommen, sind sie alle schreibgeschützt. Markieren Sie alle kopierten Dateien und wählen Sie nach einem Rechtsklick den Menüpunkt 'Eigenschaften'. Entfernen Sie das Häkchen bei 'Schreibgeschützt' und schließen Sie den Dialog wieder mit 'Ok'. Stellen Sie sicher, dass der Schreibschutz wirklich für alle Dateien auf diese Weise entfernt wurde.

    Schritt 3: Aufnahme der Quelltexte ins Projekt
    Das Kopieren der Quelltexte reicht nicht aus, um sie dem Projekt zuzuordnen. Dies können Sie im Menü 'Projekt', Untermenü 'Dem Projekt hinzufügen', Untermenü 'Dateien' nachholen:

    Es erscheint eine Dateiauswahlbox. Gehen Sie ins Verzeichnis Ihres Projekts und fügen Sie die im letzten Schritt kopierten Quelltexte zum Projekt hinzu. Zur Kontrolle hier nochmal alle benötigten Quelltexte:
    ddraw7.cpp, dinput7.cpp, dsound7.cpp, dsprite.cpp, dx70api.cpp, dxutil.cpp, ddraw7.hpp, ddrawtxt.hpp, dinput7.hpp, dinputtxt.hpp, dsound7.hpp, dsoundtxt.hpp, dspritetxt.hpp, dx70api.hpp, dxtxt.hpp, dxutiltxt.hpp
    Schritt 4: Projekteinstellungen
    Nun können Sie die Bibliothek beinahe kompilieren. Leider bestehen noch einige kleine Abhängigkeiten, und zwar von den Bibliotheken des DirectX SDK. Der Compiler muss wissen, wo die Header der DirectX-Bibliotheken zu finden sind, um unsere Bibliothek kompilieren zu können. Um dann die Bibliothek zu einer fertigen DLL (Dynamic Link Library) zusammenbinden zu können, müssen wir zusätzlich einstellen, wo die DirectX-Bibliotheken selbst zu finden sind. Diese Einstellungen können Sie im Menü 'Projekt' im Menüpunkt 'Einstellungen' vornehmen:

    Es erscheint dann eine Menübox mit zahlreichen Karteikarten. Wählen Sie zunächst unter 'Einstellungen für' 'Alle Konfigurationen' und im Diagramm darunter 'dx70api' aus. Damit bewirken Sie, dass alle nun folgenden Einstellungen für das gesamte Projekt und sowohl in der Release-Konfiguration als auch in der Debug-Konfiguration gültig werden. Wählen Sie nun auf der rechten Seite die Karteikarte 'C/C++' wie in der folgenden Abbildung:

    Stellen Sie nun als Kategorie 'Präprozessor' ein. Nun muss alles so aussehen, wie in der Abbildung. Standardmäßig sucht der Präprozessor Header-Dateien (*.h oder *.hpp) nur im Projektverzeichnis und in den Include-Verzeichnissen des Compilers. Dort wird er den DirectX SDK jedoch mit Sicherheit nicht finden. Im Feld 'Zusätzliche Include-Verzeichnisse' können Sie nun angeben, wo der Präprozessor sonst noch nachsehen soll. Tragen Sie dort das folgende Verzeichnis ein: X:\SDK\include\. Sie erinnern sich: für 'X' müssen Sie den richtigen Laufwerkbuchstaben und zudem für \SDK\ den richtigen Pfad zu der Stelle einsetzen, an der Sie den DirectX SDK installiert haben. Jetzt fehlen nur noch die Einstellungen für den Linker. Wechseln Sie zur Karteikarte 'Linker':

    Wählen Sie hier die Kategorie 'Allgemein'. Hier interessiert uns nun das Feld 'Objekt-/Bibliothek-Module'. Es werden sicherlich bereits zahlreiche Bibliotheken (*.lib) standardmäßig eingetragen sein. Diese Einträge dürfen nicht gelöscht werden! Schreiben Sie nun die folgenden Einträge hinzu (Einzelne Einträge werden durch Leerzeichen getrennt):
    winmm.lib
    X:\SDK\lib\dxguid.lib
    X:\SDK\lib\dinput.lib
    X:\SDK\lib\dsound.lib
    X:\SDK\lib\ddraw.lib
    Zumindest die Bibliotheken dinput.lib, dsound.lib und ddraw.lib verraten Ihnen bereits, welche Komponenten von DirectX die Bibliothek zurzeit unterstützt.
    Schritt 5: Kompilieren
    Wenn Sie alles richtig eingestellt haben, sollten Sie die Bibliothek nun kompilieren können. Die Quelltexte wurden unter Visual C 6.0 ohne Fehler oder Warnungen getestet und kompiliert. Falls also Fehler auftreten, so liegt dies wahrscheinlich an einer falschen Einstellung. Andere Compiler als Visual C können zudem mehr oder weniger viele Warnungen ausspucken. Das liegt daran, dass manche Compiler bestimmte Typenkonvertierungen (casts) automatisch durchführen, welche man bei anderen Compilern explizit angeben muss, wenn man keine Warnung erhalten möchte. Leider ist dies keineswegs einheitlich geregelt. Beispielsweise habe ich ein Projekt , welches unter Watcom C 11.0 (ohne Fehler oder Warnungen) erstellt wurde, unter Visual C 5.0 neu kompiliert und bekam gleich Hunderte von Warnungen. Gehen Sie zunächst einfach davon aus, dass die bemängelten Typenkonvertierungen absichtlich durchgeführt wurden und keine nachteiligen Folgen haben. Wenn also keine Fehler auftauchen, können diese Warnungen getrost ignoriert werden.
    Wählen Sie vor dem kompilieren die Release-Konfiguration (Menü 'Erstellen', Menüpunkt 'Aktive Konfiguration festlegen'). Der Debugger nützt uns unter DirectX im Vollbildmodus nicht viel, da der Bildschirm nicht zur Verfügung steht. Zudem ist die Bibliothek im Debug-Modus beträchtlich größer und langsamer. Sind Sie nun bereit für den großen Moment? Dann kompilieren Sie nun die Bibliothek (Menü 'Erstellen', Menüpunkt 'dx70api.dll erstellen'). Hat es geklappt? Gab es keine Fehler? Hier etwas Hilfestellung wenn doch:
    Wenn der Präprozessor eine Include-Datei nicht findet, müssen Sie die Präprozessoreinstellungen aus Schritt 4 nochmal überprüfen.
    Die Einstellungen des Linkers (Schritt 4) stimmen nicht, wenn 'nichtaufgelöste externe Symbole' oder 'nichtaufgelöste externe Verweise' gemeldet werden.
    Die gleichen Probleme bekommt der Linker, wenn einer der Quelltexte fehlt. Prüfen Sie, ob wirklich alle Quelltexte in Ihrem Projekt vorhanden sind (Schritte 2 und 3).

    --------------------------------------------------------------------------------

    Wenn jemand weiß wie es funktioniert oder es geschafft das zu complieren , dann sag mit bitte bescheid und erklärt es mir mal bitte.

    Mit freundlichen Grüßen
    chinese Dragon



  • hast Du das SDK für den DEV gezogen??

    (www.bloodshed.net)

    cYa
    DjR


Anmelden zum Antworten