AGB  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

[GNU/Linux, FPC] SO's einbinden

Ein Thema von implementation · begonnen am 10. Feb 2011 · letzter Beitrag vom 9. Apr 2011
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: Eberfing
429 Beiträge
 
FreePascal / Lazarus
 
#11

AW: [GNU/Linux, FPC] SO's einbinden

  Alt 12. Feb 2011, 14:07
Alternativ zum Linken mit external 'libnamename 'symbol'; (shared linking) könntest du die SO auch dynamisch laden (siehe hierzu die Unit dynlibs), dann kannst du nämlich den absoluten Pfad zur Bibliothek angeben.

Wenn du dich noch ein wenig mit Compilerbedingungen ({$ifdef ...} ) rumschlägst, dann kannst du zwischen shared und dynamic linking für Release- bzw. Entwicklungsversionen umschalten.

Gruß,
Sven
Sven
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
Ort: Rheine
799 Beiträge
 
FreePascal / Lazarus
 
#12

AW: [GNU/Linux, FPC] SO's einbinden

  Alt 13. Feb 2011, 14:27
Hi,

ein

Code:
export LD_LIBRARY_PATH=Pfad/zur/so:$LD_LIBRARY_PATH
auf der Console sollte es eigentlich tun.


LG, Frederic
Will leider auch nicht

@JamesTKurk:
Eigentlich wollte ich es hier auf die external-Weise machen, ist hier einfach bequemer.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Reykjavík, Ísland
1.040 Beiträge
 
Delphi XE Professional
 
#13

AW: [GNU/Linux, FPC] SO's einbinden

  Alt 13. Feb 2011, 14:54
Will leider auch nicht
LD_PRELOAD?

Oh und: "man ld.so" ...
Oliver
Ich mißbillige, was du sagst, aber bis in den Tod werde ich dein Recht verteidigen es zu sagen. (Voltaire)

Geändert von Assarbad (13. Feb 2011 um 15:19 Uhr)
  Mit Zitat antworten Zitat
Maik81ftl

Registriert seit: 31. Mär 2011
Ort: Wahlstedt
26 Beiträge
 
FreePascal / Lazarus
 
#14

AW: [GNU/Linux, FPC] SO's einbinden

  Alt 9. Apr 2011, 12:41
Hi,

ein

Code:
export LD_LIBRARY_PATH=Pfad/zur/so:$LD_LIBRARY_PATH
auf der Console sollte es eigentlich tun.


LG, Frederic
Will leider auch nicht

@JamesTKurk:
Eigentlich wollte ich es hier auf die external-Weise machen, ist hier einfach bequemer.
Nun diese Bittere Pille habe ich auch schon schlucken müßen.

du hattest gefragt, ob *.so nur im lib Ordner gefunden werden? nun diese Frage ist mit einem KLAREM JAIN zu beantworten. es gibt wie auch schon erwähnt wurde die load.so.con, welche du dir umschreiben/Anpassen mußt. ich persönlich würde davon aber die finger lassen.

Daher mein Tip, wenn dein Proggi Plattform übergreifend Arbeiten soll.

Delphi-Quellcode:
const
  {$IFDEF WIN32}
  Codedll = Phadangabe für Windows;
  {$ELSE}
  Codedll = '/libMyCode.so';
  {$ENDIF}
den Aufruf selber würde ich an deiner Stelle wie folgt aussehen lassen

Function XY(Value: PChar):PChar; {$IFDEF WIN32}stdcall{$ELSE}cdecl{$ENDIF}; External Codedll; wenn du da auch alle regeln bei der Verwenung in Lazarus beachtest, hast du keine Probleme.

zugegeben, das bei Lazarus keine Sharemem verwendet wird finde ich selber auch schade, Habe bei Delphi gerne mit dem Sharemem geschrieben.
Die Definition eine Bibliothek ist bei mir eine *.so
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2012 by Daniel R. Wolf