Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   FreePascal (https://www.delphipraxis.net/74-freepascal/)
-   -   [Lazarus + Andorra 2D] kopiert Andorra2Dsrc in projektordner (https://www.delphipraxis.net/151212-%5Blazarus-andorra-2d%5D-kopiert-andorra2dsrc-projektordner.html)

JamesTKirk 20. Mai 2010 21:16

Re: [Lazarus + Andorra 2D] kopiert Andorra2Dsrc in projektor
 
Hi!

Sorry, dass ich dich solang hab warten lassen, aber ich war mit Uni etwas beschäftigt...

Zitat:

Zitat von Glocke89
Zitat:

Zitat von JamesTKirk
Du benutzt nicht zufällig Win64? Ansonsten bin ich mit meinem Latein ziemlich am Ende...

Nope. Linux: Ubuntu 9.10 i386

Ok... DAS erklärt alles. Du kannst natürlich keine Windows DLL nehmen und dann hoffen, das diese unter Linux funktioniert, dass ja ein komplett anderes Format für die Binaries hat. :stupid:

Du musst also folgendermaßen vorgehen: im Andorra 2D Verzeichnis das Projekt AndorraOGL.lpi in src/dll öffnen und auf "Projekt->Projekteinstellungen->Anwendung" gehen. Dort unter "Zieldateiname" das ".dll" entfernen und mit OK den Dialog schließen. Hiernach die Library mit Strg+F9 kompilieren (sie wird im bin Verzeichnis deines Andorra 2D Verzeichnisses als AndorraOGLLaz.so erstellt) und an einen Ort kopieren, wo der Runtimelinker von Linux die Datei finden kann (z. B. /lib oder /usr/lib). Alternativ kannst du auch deine LD_LIBRARY_PATH Variable um das [i]bin[i]-Verzeichnis in deinem Andorra-Verzeichnis (absoluter Pfad) erweitern (hiernach Lazarus neustarten, damit es die geänderte Umgebungsvariable mitbekommt).

In deinem Code musst du nun den String 'AndorraOGLLaz.dll' in 'AndorraOGLLaz.so' umändern und es sollte ( :!: ) nun funktioneren, wenn nicht, weißt du ja wo du mich findest. :P

Gruß,
Sven

igel457 20. Mai 2010 21:31

Re: [Lazarus + Andorra 2D] kopiert Andorra2Dsrc in projektor
 
Zitat:

Zitat von JamesTKirk
und an einen Ort kopieren, wo der Runtimelinker von Linux die Datei finden kann (z. B. /lib oder /usr/lib). Alternativ kannst du auch deine LD_LIBRARY_PATH Variable um das [i]bin[i]-Verzeichnis in deinem Andorra-Verzeichnis (absoluter Pfad) erweitern (hiernach Lazarus neustarten, damit es die geänderte Umgebungsvariable mitbekommt).

Kleine Anmerkung am Rande: Wenn man
Delphi-Quellcode:
AdDraw.DllName := './AndorraOGLLaz.so';
oder z.B.
Delphi-Quellcode:
AdDraw.DllName := ExtractFilePath(ParamStr(0)) + 'AndorraOGLLaz.so';
schreibt, kann man sich zumindest das oben zitierte Prozedere ersparen. ;-) Ansonsten ist alles, was du geschrieben hast zu 100% korrekt.

JamesTKirk 21. Mai 2010 08:12

Re: [Lazarus + Andorra 2D] kopiert Andorra2Dsrc in projektor
 
Zitat:

Zitat von igel457
Kleine Anmerkung am Rande: Wenn man
Delphi-Quellcode:
AdDraw.DllName := './AndorraOGLLaz.so';
oder z.B.
Delphi-Quellcode:
AdDraw.DllName := ExtractFilePath(ParamStr(0)) + 'AndorraOGLLaz.so';
schreibt, kann man sich zumindest das oben zitierte Prozedere ersparen. ;-) Ansonsten ist alles, was du geschrieben hast zu 100% korrekt.

:wall:

Gut, dass ich das auch mal erfahre.

Dann ist der Property-Name DllName aber etwas irreführend... da hätte ich dann eher DllPath erwartet. :mrgreen:

Nebenbei: Würdest du in den Projekteinstellungen der DLLs im Zieldateiname bitte die Dateiendung entfernen? FPC hängt automatisch die richtige Endung für das jeweilige System an.

Gruß,
Sven


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz