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

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

Beitragvon Maik81ftl » 14. Mär 2011, 15:58 Programm stürtz wohl ab. [gelöst außer Externe ANwenungen]

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 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
Maik81ftl
 
Beiträge: 619
Registriert: 9. Mär 2011, 16:34
Wohnort: seit 01.06.2011 in Wahlstedt
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4) | 
CPU-Target: 64Bit
Nach oben

Beitragvon theo » 14. Mär 2011, 16:04 Re: Programm stürtz wohl ab.

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.
theo
 
Beiträge: 8167
Registriert: 11. Sep 2006, 18:01

Beitragvon Maik81ftl » 14. Mär 2011, 17:27 Re: Programm stürtz wohl ab.

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
Maik81ftl
 
Beiträge: 619
Registriert: 9. Mär 2011, 16:34
Wohnort: seit 01.06.2011 in Wahlstedt
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4) | 
CPU-Target: 64Bit
Nach oben

• Themenende •

Zurück zu Linux



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron
porpoises-institution
accuracy-worried