SDL3 (Simple DirectMedia Layer) Packages
-
- Beiträge: 6709
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
SDL3 (Simple DirectMedia Layer) Packages
Ich stelle hier mal mein neuster Header vor.
Es ist das brandneue SDL3
https://github.com/sechshelme/Lazarus-S ... d_Examples
Im Ordner "packages" befindet sich die Lazarus Package dazu. Einfach dort die "sdl3_package.lpk" installieren.
Vorausgesetzt, das alles läuft, in ein funktionstüchtiges SDL3
Für Linux von hier am besten selbst bauen:
Dies kann man hier herunterladen und bauen. https://github.com/libsdl-org/SDL
Für Windows 64bit kann man hier die fertigen DLLs runterladen:
https://github.com/sechshelme/Lazarus-S ... /DLL/win64
Es ist das brandneue SDL3
https://github.com/sechshelme/Lazarus-S ... d_Examples
Im Ordner "packages" befindet sich die Lazarus Package dazu. Einfach dort die "sdl3_package.lpk" installieren.
Vorausgesetzt, das alles läuft, in ein funktionstüchtiges SDL3
Für Linux von hier am besten selbst bauen:
Dies kann man hier herunterladen und bauen. https://github.com/libsdl-org/SDL
Für Windows 64bit kann man hier die fertigen DLLs runterladen:
https://github.com/sechshelme/Lazarus-S ... /DLL/win64
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- AlterPascaler
- Beiträge: 72
- Registriert: Mo 26. Jun 2023, 18:56
- OS, Lazarus, FPC: Linux, Lazarus, Free Pascal
- CPU-Target: xxBit
- Wohnort: Deutschland, NRW
Re: SDL3 (Simple DirectMedia Layer) Packages
Hi Mathias,
zur Info!
Wollte heute mal den SDL Package ausprobieren.
Ziel System ArchLinux (Manjaro).
Habe SDL gebaut und installiert wie beschrieben, hat funktioniert.
Bei der Installation des Package unter Lazarus habe ich folgende Fehler bekommen.
Da schein noch ein paar Librays zu fehlen.
Hast du da eine Empfehlung, wie ich da jetzt vorgehen sollte. Mein System ist SDL free.
Viele Grüße
AP
zur Info!
Wollte heute mal den SDL Package ausprobieren.
Ziel System ArchLinux (Manjaro).
Habe SDL gebaut und installiert wie beschrieben, hat funktioniert.
Bei der Installation des Package unter Lazarus habe ich folgende Fehler bekommen.
Code: Alles auswählen
Kompiliere Package SDL3_package 0.0: Erfolg, Warnungen: 2, Hinweise: 7
Hint: Start of reading config file /home/thomas/laza/3.0.0/fpc/bin/x86_64-linux/fpc.cfg
Hint: End of reading config file /home/thomas/laza/3.0.0/fpc/bin/x86_64-linux/fpc.cfg
sdl3_system.inc(113,10) Warning: Function result does not seem to be set
sdl3_system.inc(35,38) Hint: Parameter "window" not used
sdl3_system.inc(35,59) Hint: Parameter "interval" not used
sdl3_system.inc(35,78) Hint: Parameter "callback" not used
sdl3_system.inc(35,103) Hint: Parameter "callbackParam" not used
sdl3_system.inc(118,10) Warning: Function result does not seem to be set
sdl3_system.inc(37,30) Hint: Parameter "Enabled" not used
IDE erstellen: Exit code 2, Fehler: 2, Warnungen: 5, Hinweise: 4
Hint: Start of reading config file /home/thomas/laza/3.0.0/fpc/bin/x86_64-linux/fpc.cfg
Hint: End of reading config file /home/thomas/laza/3.0.0/fpc/bin/x86_64-linux/fpc.cfg
Hint: Start of reading config file /home/thomas/laza/3.0.0/config_lazarus/idemake.cfg
Hint: End of reading config file /home/thomas/laza/3.0.0/config_lazarus/idemake.cfg
Warning: linker: /usr/bin/ld: cannot find -lSDL3_image: No such file or directory
Warning: linker: /usr/bin/ld: cannot find -lSDL3_rtf: No such file or directory
Warning: linker: /usr/bin/ld: cannot find -lSDL3_ttf: No such file or directory
Warning: linker: /usr/bin/ld: cannot find -lSDL3_mixer: No such file or directory
Warning: linker: /usr/bin/ld: cannot find -lSDL3_net: No such file or directory
make[2]: *** [Makefile:4362: lazarus] Error 1
make[1]: *** [Makefile:4801: ide] Error 2
*** [Makefile(3116,0) Error: linker: ide] Error 2
lazarus.pp(171,1) Error: Error while linking
Hast du da eine Empfehlung, wie ich da jetzt vorgehen sollte. Mein System ist SDL free.
Viele Grüße
AP
Viele Grüße
AlterPascaler
AlterPascaler
-
- Beiträge: 6709
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: SDL3 (Simple DirectMedia Layer) Packages
Hast du die SDL3 libs installiert ?
Auch die anderen SDL5_image, etc.
https://github.com/libsdl-org/SDL
Ohne dies geht gar nichts.
Mit CMAKE geht sollte dies sehr einfach gehen. Es sollte alles in den README von den Paketen stehen.
Auch die anderen SDL5_image, etc.
https://github.com/libsdl-org/SDL
Ohne dies geht gar nichts.
Mit CMAKE geht sollte dies sehr einfach gehen. Es sollte alles in den README von den Paketen stehen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6709
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: SDL3 (Simple DirectMedia Layer) Packages
Was noch wichtig ist, die Package ist momentan mit Vorsicht zu geniesen. Es gibt zT. noch recht grobe Änderung in den libs.
Mein Ziel ist es, wen ein Release rauskommt, das ich das ganze nochmals durcharbeite und so kann man den Pascal-Header an diese Version knüpfen.
Mein Ziel ist es, wen ein Release rauskommt, das ich das ganze nochmals durcharbeite und so kann man den Pascal-Header an diese Version knüpfen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- AlterPascaler
- Beiträge: 72
- Registriert: Mo 26. Jun 2023, 18:56
- OS, Lazarus, FPC: Linux, Lazarus, Free Pascal
- CPU-Target: xxBit
- Wohnort: Deutschland, NRW
Re: SDL3 (Simple DirectMedia Layer) Packages
Hi Mathias,
unter LINUX fehlten einige Libs, SDL_TTF, SDL_RTF, SDL_MIXER, SDL_IMAGE und SDL_NET. Die Sources findest du
unter https://github.com/libsdl-org
Mit deiner Installationsbeschreibung für Linux unter https://github.com/sechshelme/Lazarus-S ... all_sdl.md werden die Libs nicht mit installiert.
Im Anhang habe ich ein Script, was alles herunterlädt, kompiliert und installiert.
Da ich ArchLinux verwende muss noch der Lib- Suchpfad angepasst werden, welches das Scrip auch macht.
Leider muss ich dir sagen, das bei mir noch nicht viel läuft von den Beispielen. Schade
Ich drücke die die Daumen.
unter LINUX fehlten einige Libs, SDL_TTF, SDL_RTF, SDL_MIXER, SDL_IMAGE und SDL_NET. Die Sources findest du
unter https://github.com/libsdl-org
Mit deiner Installationsbeschreibung für Linux unter https://github.com/sechshelme/Lazarus-S ... all_sdl.md werden die Libs nicht mit installiert.
Im Anhang habe ich ein Script, was alles herunterlädt, kompiliert und installiert.
Da ich ArchLinux verwende muss noch der Lib- Suchpfad angepasst werden, welches das Scrip auch macht.
Leider muss ich dir sagen, das bei mir noch nicht viel läuft von den Beispielen. Schade
Ich drücke die die Daumen.
- Dateianhänge
-
- sdl-build.sh
- (1.72 KiB) 41-mal heruntergeladen
Viele Grüße
AlterPascaler
AlterPascaler
-
- Beiträge: 6709
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: SDL3 (Simple DirectMedia Layer) Packages
Ein Script hätte ich da auch gehabt, dies sieht nicht so professionell aus wie deines.Im Anhang habe ich ein Script, was alles herunterlädt, kompiliert und installiert.
Da ich ArchLinux verwende muss noch der Lib- Suchpfad angepasst werden, welches das Scrip auch macht.
Es installiert alles in /usr/local somit wird alles auf Anhieb gefunden, Ohne das man noch Umgebungsvariablen setzen muss.
https://github.com/sechshelme/Lazarus-S ... _create.sh
Das mit den Schleifen muss ich mal genauer angucken, dies würde mein Script sicher auch einfacher machen.
Für Windows gibt es auch eines, aber leider hackt es ein wenig und man muss noch mit "cmake-gui" nachhelfen. Vor allem was Freetype anbelangt.
https://github.com/sechshelme/Lazarus-S ... _create.sh
Ich bin auch noch dran um meine *.md ausführlicher zu gestalten.
Was will den nicht ?Leider muss ich dir sagen, das bei mir noch nicht viel läuft von den Beispielen. Schade
Noch was, diese Woche wurde an den libs eine grössere Änderung vorgenommen, was die Tastatur anbelangt.
Ich habe meine Package vorgestern angepasst, alles was älter ist läuft nicht mehr.
Wie gesagt, es ist einem recht frühen Stadium.
DankeIch drücke die die Daumen.
Wie schon gesagt, ich warte ab bis das erste Release raus kommt. Und dann werde ich alles nochmals neu übersetzen.
Dies wird dann einige schneller gehen, da ich einige Hilfstoole und Know How habe.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- AlterPascaler
- Beiträge: 72
- Registriert: Mo 26. Jun 2023, 18:56
- OS, Lazarus, FPC: Linux, Lazarus, Free Pascal
- CPU-Target: xxBit
- Wohnort: Deutschland, NRW
Re: SDL3 (Simple DirectMedia Layer) Packages
Gib bescheid wenn du soweit bist, dann Versuche ich es nochmal. Wäre doch schade wenn es im Sande verläuft, nach soviel Arbeit.
Wenn du dein SDL Package installierst, kompilierst du das in die Lazarus-Ide?
Wenn du dein SDL Package installierst, kompilierst du das in die Lazarus-Ide?
Viele Grüße
AlterPascaler
AlterPascaler
-
- Beiträge: 6709
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: SDL3 (Simple DirectMedia Layer) Packages
Ja klar, es ist ja eine Lazarus-Package. Anders geht es kaum.Wenn du dein SDL Package installierst, kompilierst du das in die Lazarus-Ide?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- Roland Chastain
- Beiträge: 160
- Registriert: Sa 7. Jul 2012, 21:50
- Wohnort: Saargemünd
- Kontaktdaten:
Re: SDL3 (Simple DirectMedia Layer) Packages
Hallo zusammen !
Für mich (Linux Mageia) funktionieren die Beispiele von Mathias perfekt (1). Ich nutze das Package nicht. Ich füge einfach den Quelldateipfad in den Projektoptionen hinzu.
Ich sehe in diesem Fall keinen wirklichen Sinn in einem Lazarus-Package.
(1) An den Beispielen müssen zwei kleine Änderungen vorgenommen werden.
Für mich (Linux Mageia) funktionieren die Beispiele von Mathias perfekt (1). Ich nutze das Package nicht. Ich füge einfach den Quelldateipfad in den Projektoptionen hinzu.
Ich sehe in diesem Fall keinen wirklichen Sinn in einem Lazarus-Package.
(1) An den Beispielen müssen zwei kleine Änderungen vorgenommen werden.
Code: Alles auswählen
//LRenderer := SDL_CreateRenderer(LWindow, nil, SDL_RENDERER_ACCELERATED or SDL_RENDERER_PRESENTVSYNC);
LRenderer := SDL_CreateRenderer(LWindow, nil);
//while SDL_PollEvent(LEvent) = 1 do
while SDL_PollEvent(LEvent) do
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.
Pourvu que Dieu lui prête vie.
-
- Beiträge: 6709
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: SDL3 (Simple DirectMedia Layer) Packages
Ein Package hat den Vorteil, wen man das Project zügelt, werden die Units auf Anhieb gefunden, ansonsten muss man bei jedem Project die Unit-Pfade anpassen.Für mich (Linux Mageia) funktionieren die Beispiele von Mathias perfekt (1). Ich nutze das Package nicht. Ich füge einfach den Quelldateipfad in den Projektoptionen hinzu.
Ich sehe in diesem Fall keinen wirklichen Sinn in einem Lazarus-Package.
Kannst du mir sagen, wo du dies gefunden hast ?(1) An den Beispielen müssen zwei kleine Änderungen vorgenommen werden.
CODE: ALLES AUSWÄHLEN
Code: Alles auswählen
//LRenderer := SDL_CreateRenderer(LWindow, nil, SDL_RENDERER_ACCELERATED or SDL_RENDERER_PRESENTVSYNC); LRenderer := SDL_CreateRenderer(LWindow, nil); //while SDL_PollEvent(LEvent) = 1 do while SDL_PollEvent(LEvent) do
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- Roland Chastain
- Beiträge: 160
- Registriert: Sa 7. Jul 2012, 21:50
- Wohnort: Saargemünd
- Kontaktdaten:
Re: SDL3 (Simple DirectMedia Layer) Packages
Diese Korrektur musste ich in mehreren Beispielen vornehmen. Ich sehe, dass Sie die Korrektur inzwischen auch Ihrerseits vorgenommen haben. Also habe ich umsonst gesprochen.
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.
Pourvu que Dieu lui prête vie.
-
- Beiträge: 6709
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: SDL3 (Simple DirectMedia Layer) Packages
Leider ändert noch einige gravierendes.Diese Korrektur musste ich in mehreren Beispielen vornehmen. Ich sehe, dass Sie die Korrektur inzwischen auch Ihrerseits vorgenommen haben. Also habe ich umsonst gesprochen.
Daher alles (noch) mit Vorsicht geniessen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6709
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: SDL3 (Simple DirectMedia Layer) Packages
Ich habe die Pakage auf die neuste Version von 3.1.3 angepasst.
Am besten die Quellen von SDL 3.1.3 von hier runterladen: https://github.com/libsdl-org/SDL/releases
Mein FPC-Header ist auf diese Version angepasst.
Für Windows-User,, gibt es dort fertige DLLs.
Am besten die Quellen von SDL 3.1.3 von hier runterladen: https://github.com/libsdl-org/SDL/releases
Mein FPC-Header ist auf diese Version angepasst.
Für Windows-User,, gibt es dort fertige DLLs.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: SDL3 (Simple DirectMedia Layer) Packages
Hallo Mathias.
Erstmal möchte ich dir meinen großen Dank aussprechen, dass ich dank dir schon das neue SDL3 unter Lazarus verwenden kann!
Ich beginne grade ein OpenGL Projekt und hatte versucht Texturen durch Verwendung der Funktion IMG_Load() aus der SDL3_image library zu laden.
Das führt zumindest unter Windows leider zur Fehlermeldung, dass der Prozedureinsprungspunkt "SDL_ConvertSurfaceFormat" in der Datei SDL3_image.dll nicht gefunden wurde.
In SDL3 wurde ja die Funktion „SDL_ConvertSurfaceFormat“ umbenannt in „SDL_ConvertSurface“.
Diese Änderung ist in deiner SDL_surface.inc ebenso vorzufinden. Allerdings war dort auch noch die alte Version „SDL_ConvertSurfaceFormat“ vorhanden.
Diese habe ich entfernt. Ebenso gefunden und entfernt wurde der Eintrag in der Datei SDL3_surface.inc.
Dennoch wird bei Verwendung obiger Funktion die Fehlermeldung provoziert.
Magst du mal drüber schauen woran das genau liegt?
Gleicher Fehler lässt sich mit deinem Beispiel „\examples\SDL_images\10_-_Renderer_and_Texture_SDL_images“ nachvollziehen.
Vielen Dank und lieben Gruß
Erstmal möchte ich dir meinen großen Dank aussprechen, dass ich dank dir schon das neue SDL3 unter Lazarus verwenden kann!
Ich beginne grade ein OpenGL Projekt und hatte versucht Texturen durch Verwendung der Funktion IMG_Load() aus der SDL3_image library zu laden.
Das führt zumindest unter Windows leider zur Fehlermeldung, dass der Prozedureinsprungspunkt "SDL_ConvertSurfaceFormat" in der Datei SDL3_image.dll nicht gefunden wurde.
In SDL3 wurde ja die Funktion „SDL_ConvertSurfaceFormat“ umbenannt in „SDL_ConvertSurface“.
Diese Änderung ist in deiner SDL_surface.inc ebenso vorzufinden. Allerdings war dort auch noch die alte Version „SDL_ConvertSurfaceFormat“ vorhanden.
Diese habe ich entfernt. Ebenso gefunden und entfernt wurde der Eintrag in der Datei SDL3_surface.inc.
Dennoch wird bei Verwendung obiger Funktion die Fehlermeldung provoziert.
Magst du mal drüber schauen woran das genau liegt?
Gleicher Fehler lässt sich mit deinem Beispiel „\examples\SDL_images\10_-_Renderer_and_Texture_SDL_images“ nachvollziehen.
Vielen Dank und lieben Gruß
-
- Beiträge: 6709
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: SDL3 (Simple DirectMedia Layer) Packages
Eines vorweg, bei Surface gab es eine größere Änderung. Daher bin ich da noch am üben.
Von wo hast du sdl3_images ?
Offiziel ist mir nur sdl2_images bekannt.
Ausser du baust sie selbst.
Von wo hast du sdl3_images ?
Offiziel ist mir nur sdl2_images bekannt.
Ausser du baust sie selbst.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot