Programm stürtz wohl ab. [gelöst außer Externe ANwenungen]

Antworten
Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Programm stürtz wohl ab. [gelöst außer Externe ANwenungen]

Beitrag von Maik81ftl »

Nabend bzw. guten morgen,

bin grad an einem etwas äteren Project und stelle grade fest, das die dll/so einbindung bei Lazarus anders arbeitet als Delphi V5.

diese Zeile hab ich entsprechend geändert und sieht daher nun wie folgt aus.

Code: Alles auswählen

{$IFDEF WIN32}
Procedure StrtoBin(Value: String):String; External 'Lib\Codelib.dll';
{$ENDIF}
{$IFDEF LINUX}
function StrtoBin(Value: String):String; External 'lib/Codelib.so';
{$ENDIF}


beim Programmstart. beendet dieses Prog aus gleich wieder und der debugger meldet einen Ansturz

Kann es sein, das durch den Wert 'lib/codelib.so' das Programm abschmiert?

Fehler sieht wie folgt aus.
Debuggerfehler

der Debugger ist abgestürtz.
Speichern Sie Ihre Arbeit!

Drücken Sie "OK" und hoffen Sie aus ein Fix für diesen Bug.


Edit*

der Lib odner befindet sich dazugesagt im Prjektordner. gehe allerdings davon aus, das dies nicht stören sollte.
Zuletzt geändert von Maik81ftl am Mo 14. Mär 2011, 17:28, insgesamt 1-mal geändert.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Programm stürtz wohl ab.

Beitrag von theo »

Auf Linux geht das so glaub's nicht.
So muss das *-so typischerweise in /usr/lib liegen oder in LD_LIBRARY_PATH.
Sonst dynamisch laden LoadLibrary etc.

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: Programm stürtz wohl ab.

Beitrag von Maik81ftl »

theo hat geschrieben:Auf Linux geht das so glaub's nicht.
So muss das *-so typischerweise in /usr/lib liegen oder in LD_LIBRARY_PATH.
Sonst dynamisch laden LoadLibrary etc.


ergo so wie hier beschrieben?
FPC_Libraries#Linux

Code: Alles auswählen

include /home/maik81ftl/*.conf


die Datei *.conf schaut wie folgt aus.

Code: Alles auswählen

# Private Lib configuration
/home/maik81ftl/Programming/"Projektordner"/lib


Nach diesen änderungen und Neustart von Lazaru erhalt ich nach wie vor folgende Meldungen.

die erste von den 4en kommt mir mega spanisch vor, das diese nicht in Ordner liegt

Code: Alles auswählen

/usr/bin/ld: warning: /home/maik81ftl/Programming/"Projektordner"/link.res contains output sections; did you forget -T?
/usr/bin/ld: cannot find -lCodelib
Regel.lpr(26,1) Error: Error while linking
Regel.lpr(26,1) Fatal: There were 1 errors compiling module, stopping



und bei WIndows, kann es denne in's system bzw. Programmverzeichnis wenn ich das so recht verstehe.

Edit*

geschaft. Spielen aber wenn ich das richtig gelesen habe auch noch ander faktoren mit eine rolle.

'lib + $Libname + ($version) + .so eine große rolle. Habe die Lib daher angepasst und als root in das Verzeichnis /usr/lib kopiert und was sehe ich??? Programm läuft nun Sauber.

Hoffe, das sich das bei Externen Anwendungen nicht auch so verhält :|

wenn nein, denne Thema gelöst :!:
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

Antworten