[tutor] Installation von JEDI-SDL unter Lazarus auf Windows

Für Installationen unter Windows
bembulak
Beiträge: 370
Registriert: Di 6. Feb 2007, 09:29
OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
CPU-Target: 32bit i386, ARM
Wohnort: Oberösterreich

[tutor] Installation von JEDI-SDL unter Lazarus auf Windows

Beitrag von bembulak »

Es lebt!

Weil das Thema mir keine Ruhe lies, hab ich jetzt mal ernsthaft versucht, SDL unter Lazarus/FPC auf Windows zum Laufen zu bringen.

So wie es aussieht, habe ich dies auch mehr oder weniger geschafft.

Hier meine Vorgehensweise:
Ich habe von http://sourceforge.net/projects/jedi-sdl die JEDI-SDL v1.0 Beta heruntergeladen. Für meine Downloads habe ich, wie viele, ein extra Verzeichnis.

Dann habe ich unter C:\lazarus\units\ ein Verzeichnis mit Namen "sdl" angelegt --> C:\lazarus\units\sdl

Dort habe ich aus dem extrahierten Paket aus allen PAS Ordnern (z.B. JEDI-SDL\Cal3D\Pas, JEDI-SDL\fmod\Pas, JEDI-SDL\Newton\Pas, JEDI-SDL\ODE\Pas, JEDI-SDL\OpenGL\Pas, JEDI-SDL\SDL\Pas, ...) in dieses Verzeichnis unter .\units\sdl reinkopiert. Das sind bei mir knapp 200 Dateien.

Dann habe ich unter "C:\lazarus\fpc\2.2.0\bin\i386-win32" die fpc.cfg geöffnet und die folgenden Zeilen hinzugefügt:

Code: Alles auswählen

# SEARCHPATH FOR SDL STUFF:
-FuC:\lazarus\units\sdl

Datei natürlich gespeichert und vorher Backup gemacht. ;) Sicher ist sicher.

So, dann habe ich mir das erstbeste Beispiel aus dem JEDI-SDL Ordner genommen. In meinem Fall war das JEDI-SDL\SDLSpriteEngine\Demos\Oxygene.
Dann habe ich laut Anleitung mit dem folgenden Befehl das ganz kompiliert.

Code: Alles auswählen

fpc.exe -Sd Oxygene.dpr

Das hat nicht auf Anhieb funktioniert und ich musste die Datei "jedi-sdl.inc" in den Projektordner kopieren, obwohl die Datei auch in meinem ".\units\sdl"-Verzeichnis vorhanden ist. Warum das so ist, kann ich gegenwärtig leider nicht nachvollziehen. Egal, immerhin hat es dann doch noch funktioniert.
Folgendes meldete mir der Compiler:
Free Pascal Compiler version 2.2.0 [2007/11/14] for i386
Copyright (c) 1993-2007 by Florian Klaempfl
Target OS: Win32 for i386
Compiling Oxygene.dpr
Compiling ..\..\Pas\sdlsprites.pas
jedi-sdl.inc(237,4) Warning: Illegal compiler directive "$THREADING"
Oxygene.dpr(1970,5) Warning: Local variable "f" does not seem to be initialized
Linking Oxygene.exe
4072 lines compiled, 0.9 sec, 153808 bytes code, 28280 bytes data
2 warning(s) issued

OK, zwei Warnungen, aber es hat funktioniert. :)

Ich habe also nun in diesem Ordner eine Datei namens "Oxygene.exe". Voller freude habe ich das Teil gestartet, bekam aber Fehlermeldungen, die sich auf die SDL DLLs beziehen.
Diese DLLs (sdl.dll, sdl_image.dll, sdl_mixer.dll, ...)sind ebenfalls in meinem ".\units\sdl"-Ordner, aber ich brauche sie im Ordner der EXE. Kann ich nachvollziehen und ich glaube, es würde auch funktionieren, wenn die Files unter Windows\system liegen würden.

Also, ich habe es also geschafft auf der Kommandozeile ein SDL-Beispiel zu kompilieren. Folgende Sachen sind noch ausständig:
  • Wie kann ich das gleiche in Lazarus anstellen? DPR sind doch Delphi-Projekte, die werde ich wohl nicht einfach so laden können?
  • Kann man die Sache mit der jedi-sdl.inc irgendwie verhindern, so dass auch diese aus einem Verzeichnis mit den anderen Libs geholt werden. Wofür steht das *.inc überhaupt und wozu braucht es der Compiler?


Vielleicht kann es ja jemand brauchen?

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Ich frag ich mich warum du die Dateien zusammenkopiert hast und nicht wie auf der Wiki Seite beschrieben mehrere -Fu´s genommen hast.

Wie kann ich das gleiche in Lazarus anstellen? DPR sind doch Delphi-Projekte, die werde ich wohl nicht einfach so laden können?


Kannst sie einfach in lpr umbenennen.
In den Compilereinstellungen kannst du dann die ganzen Pfade einfügen und dann funktioniert es genauso.

Kann man die Sache mit der jedi-sdl.inc irgendwie verhindern, so dass auch diese aus einem Verzeichnis mit den anderen Libs geholt werden. Wofür steht das *.inc überhaupt und wozu braucht es der Compiler?


.inc steht für include file und wird direkt an der stelle im Code eingebunden an der {$I meinfile.inc} steht.
Den Pfad zu dieser Datei kannst du mit -Fi statt -Fu angeben oder in den Lazarus Compilereinstellungen in der 2. Zeile.

So das heisst dann wohl das du mir n sixpack schuldest ;)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Die DPR Dateien werden angepasst. Complieranweisungen werden hinzugefügt andere gelöscht. Ich glaube mit einem einfachen umbennen wird das nix !

PS:
Unter Linux habe ich es ja auch Geschafft, aber nur ohne lpk Datei...
ich habe zwar die fpc Datei angepasst, aber die hat er nicht genommen... oder so.
MFG
Michael Springwald

bembulak
Beiträge: 370
Registriert: Di 6. Feb 2007, 09:29
OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
CPU-Target: 32bit i386, ARM
Wohnort: Oberösterreich

Beitrag von bembulak »

OK, danke für deine Hilfe.
Das mit dem Fi werde ich direkt mal ausprobieren.

Btw: ich kann mich nicht erinnern, mit dir gewettet zu haben. Da hast du mich wohl verwechselt. ;)

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ja hat er und zwar mit "af0815" der wollte aber hat es dann doch nicht getan.... *G*
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Die DPR Dateien werden angepasst. Complieranweisungen werden hinzugefügt andere gelöscht. Ich glaube mit einem einfachen umbennen wird das nix !


In der dpr stehn im Delphi gar keine Compileranweisungen drin oder ? Die stehn doch in .cfg drin soweit ich weiss. In der dpr sollte nur der Quelltext stehn.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

Der Sixpack steht, die Frage ist nur an wen geht die Ehre ?

Einlösung beim Forum Treffen :-)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Wiso ? Ich hab doch gesagt es geht problemlos und so ist es nun doch.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

bembulak
Beiträge: 370
Registriert: Di 6. Feb 2007, 09:29
OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
CPU-Target: 32bit i386, ARM
Wohnort: Oberösterreich

Beitrag von bembulak »

Geht hier eigentlich jeder Thread nach dem 3. Post offtopic? Ich meine, man denkt sich:"ich teile mal meine Infos, vielleicht kann es ja jemand brauchen!" Klar, ganz so professionell wie die Infos von anderen hier mag es nicht sein, aber ich dachte mir, es könnte nützlich sein, ist es aber offenbar nicht.

:cry:

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Nich gleich weinen, das is in Foren nunmal so. Und zum trost in der FPC Wiki steht doch genau das selbe drin ;)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

bembulak
Beiträge: 370
Registriert: Di 6. Feb 2007, 09:29
OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
CPU-Target: 32bit i386, ARM
Wohnort: Oberösterreich

Beitrag von bembulak »

Ich weine nicht gleich, auch wenn der Smily idiotisch gewählt war.

Im Wiki steht nicht das selbe, denn zum Einen ist es auf Englisch, einen deutschen Eintrag konnte ich nicht finden und zum Anderen: ja, das Wiki existiert zwar, das stimmt schon, aber um ehrlich zu sein - man merkt, dass die Einträge zum großen Teil von den Leuten stammen, die offenbar mit der Entwicklung von Lazarus selbst zu tun haben. Und das Entwickler zumeist schlechte Dokus schreiben (wenn überhaupt und das merkt man an den vielen fehlenden Einträgen), dürfte hinlänglich bekannt sein. Also haben Newbies da keine Chance, weil sie schon an den einfachsten Hürden hängenbleiben.

Ich bin zwar grundsätzlich dagegen Scriptkiddies zu züchten, denen man jeden Brocken vorkaut, aber es spricht nix dagegen Leuten, die lernen wollen, unter die Arme zu greifen. Wäre es anders, gäbe es keine Foren in dieser Art, denn sie würden alle aus
"use C/C++ and RTFM, RTFM" bestehen.

Wenn Lazarus schon Delphi-kompatibel sein soll/will, dann spricht IMHO auch nix dagegen, den Leuten einfache Informationen zugänglich zu machen. Es nützt nix, wenn es heißt, Pascal ist eine (relativ) einfache Sprache und für Anfänger gut geeignet, wenn man dann bei den Dokus und Howtos einen Doktorabschluss als Informatiker benötigt, oder für sich selber alles ausprobieren muss. Nicht alle haben soviel Geduld und einen Weg, den ich schonmal gegangen bin, kann ich doch gerne für andere kennzeichnen, oder?
Ich glaube nicht, dass das Blocken solcher Infos oder das simple Negieren von gutgemeinten Änderungen für die Verbreitung von Lazarus/FPC zuträglich ist.

Aber gut - ich akzeptiere das demokratische Prinzip und beuge mich der Mehrheit. Wenn dies in diesem Forum so ist, so soll es mir recht sein (auch wenn es nicht überall so ist).

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Ich würde sagen das ein Anfänger mit Lazarus schon das eine oder andere Problem bekommen wird.
Wobei Anfänger müsste auch noch Definiert werden.

Etwas Erfahrung in Delphi währe schon nicht schlecht, weil halt dort die Hilfe und Ausarbeitung wesentlich besser ist als in Lazarus.

Aber du kannst dir ja eine Delphi Hilfe zulegen es gab mal eine für Delphi 7 glaube ich im Internet eine Deutsche. Das meiste kannst du mit evlt. kleinen Anpassungen nach Lazarus umwandeln.

Aber wenn du nicht weiter Weißt und nix findest müsstest du halt hier nach Fragen.
Ich glaube die Stammgäste kenne ich inzwischen ganz gut in Lazarus oder halt auch in Delphi oder in Beidem sehr gut aus.

Ist es ein OpenSoruce Projekt, da ist das schon ein Problem mit der Dokumentation.
Aber einen Großen Vorteil gibt es schon, das halt einige Sachen schon Dokumentiert sind, aber halt nicht sehr einfach gehalten sind.
MFG
Michael Springwald

bembulak
Beiträge: 370
Registriert: Di 6. Feb 2007, 09:29
OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
CPU-Target: 32bit i386, ARM
Wohnort: Oberösterreich

Beitrag von bembulak »

Das weiß ich ja und meine Delphi7-Bücher sind auch schon auf dem Weg. Das sehe ich ja nicht als Problem. Aber es gibt eben doch Unterschiede zwischen Delphi und Lazarus und auch Dinge, die man dort wie da dokumentieren sollte.
SDL gehört da für mich z.B. dazu. Ich bin sicher nicht der Letzte, der versucht, es zu installieren. Wenn ich der Meinung bin, dass es unzureichend dokumentiert ist, und versuche Schritt für Schritt Dinge aufzuzeichnen, dann hätte ich mir halt mehr konstruktives Feedback erwartet. Du hast es letztens ja auch versucht und das von dir geschriebene war für mich ehrlich gesagt nicht detailiert genug. Ich habe versucht, deinen Beitrag als Anstoss zu nehmen und eben mehr daraus zu machen, auch für andere.
Wenn wir Benutzer unsere Erfahrungen nicht für andere Benutzer aufzeichnen, wer tut es dann?
Wie gesagt, das Wiki ist nicht das Gelbe vom Ei, soviel steht fest.

Aber vielleicht sehe ich das ja zu eng?

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

Ganz einfach, wenn du was Dokumentieren willst, so hast Du entweder inder Lazarus Wiki oder hier in den LazInfos (auf Deutsch) die Möglichkeit es zu tun.

Genauso wie du den Thread begonnen hast, kann man es auch mit den eventuellen Verbesserungen als Doku aufnehmen.

Es ist schon klar das oft die Programmierer die schlechtesten Dokumentierer sind (Die Raunzer und 'ja das geht einfacher schreiber' übrigends auch). Somit kann ein jeder an der Erweiterung der Doku sinnvoll mitmachen.

Bezüglich sixpack: Das schulde ICH dir, wenn der Nachweis erbracht ist.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

@bembulak

Das problem was ich da immer sehe, ist das du hier nicht viele leute erreichst wenn du die wiki beiträge falsch findest korrigier sie, dafür ists ne wiki. Mir fällt jetzt jedoch kein Unterschied zu deinem Beitrag ein ausser das du alle Dateien in einen ordner geschmissen hast was eine nicht sonderlich tolle Lösung ist. Was hast du denn am Wiki Eintrag auszusetzen bzw wo bist du nicht weitergekommen ?
Ich find übrigends das die meissten Wiki Beiträge durchaus für Anfänger geeignet sind jedenfalls ist das die erste Beschwerde dazu die ich höre. Sobald die meissten leute die Wiki erstmal gefunden haben kommen kaum noch fragen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten