Einzelnen Beitrag anzeigen

Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#1

[GNU/Linux, FPC] SO's einbinden

  Alt 10. Feb 2011, 19:22
Ich habe jetzt unter Linux mit dem FPC eine kleine Testbibliothek geschrieben:
Delphi-Quellcode:
// Cray.pas
library Cray;

uses CrayLib, CrayInter;

procedure println(s: pchar);
begin
   WriteLn(String(s));
end;

exports println;

end.
Wenn ich sie kompiliere kommt auch wie gewünscht die 'libCray.so' raus.

Nun möchte ich sie einbinden:
Delphi-Quellcode:
// Crayfish.pas
unit Crayfish;

interface

uses CrayInter;

procedure println(s: pchar); external 'Crayname 'println';

implementation

end.

// CrayExample.pas
program CrayExample;

uses Crayfish, CrayInter;

begin
   println('o.O');
end.
Ich kompiliere CrayExample und starte es.
Nun kommt jedoch die Meldung, libCray.so könne nicht gefunden werden.
Die SO liegt im gleichen Verzeichnis.

Woran liegt das?


[EDIT]
Habe jetzt die libCray.so mal nach /lib verschoben. Jetzt funktioniert's.
Werden Bibliotheken etwa nur dort erkannt?
Na das macht das Debuggen ja nicht gerade einfacher, wenn man sich nach jeder Kompilierung erstmal ein sudo erkämpfen muss, um die Bibliothek zu verschieben
Als Sicherheitsmaßnahme ist es wohl sinnvoll, das verstehe ich ja.

Gibt es sonst keine andere Möglichkeit?

Geändert von implementation (10. Feb 2011 um 19:31 Uhr)
  Mit Zitat antworten Zitat