Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: DLL unter LINUX , Deploy prozess

  Alt 29. Mai 2020, 00:39
Zu a) Die Datei sollte heißen "libTestlibrary.so"

Am einfachsten ist es, die Datei in das gleiche Verzeichnis wie die Binary zu deployen.

Da Du ja hier eine Hart-Codierung für den Bezug zur DLL (bzw. ".so") gewählt hast, compiliert der Compiler die Adressen zu den Funktionen in der DLL "hart" in Dein Programm ein.

Dazu muss der Compiler zum Kompilierzeitpunkt wissen, wo Deine DLL liegt. Dummerweise sucht er nicht einfach dort da, wo auch die Binary erzeugt wird. Man muss (auch seltsam, aber so funktioniert es) unter Tools, im Bibliothekspfad das Verzeichnis angeben, wo Deine DLL (also .so) liegt.

Zu Deiner Frage b) verstehe ich Deine Frage nicht ganz. Welche DLL Shared Object ist gemeint? Falls Du da die Borland shared memory dll meinst (BORLNDMM.DLL), das ist eine reine Windows-Dll, die kannst Du unter Linux nicht verwenden.

Geändert von Harry Stahl (29. Mai 2020 um 00:48 Uhr)
  Mit Zitat antworten Zitat