Linux Shared Librarys erstellen (wie DLLs unter Windows)

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46
Wohnort: Luxemburg
Kontaktdaten:

Beitrag von hardfalcon »

Wie ich dir vorhin schon geschrieben hab: Ich gebe mich geschlagen, DD... Hast ja recht! :allright:
„Warum siehst du den Splitter im Auge deines Bruders, aber den dicken fetten schwarzen Zensurbalken vor deinem Auge bemerkst du nicht?“
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

ts-soft hat geschrieben:Ich würde "./" vor dem Namen setzen, das wäre Linux-Üblich
Also mal ehrlich...

Vielleicht kann mir ja jemand einen hilfreichen Tipp geben. Ich hab die Datei einmal in meinem home-Verzeichnis und einmal im /usr/lib/ Verzeichnis. Im ersten Fall führt OpenLibrary() zu nichts, im zweiten Fall klappt es. Zur Prüfung, ob der Pfad stimmt, lasse ich mir die Dateigröße ausgeben:

Code: Alles auswählen

file$ = "/home/user/MMC-SD/partition1/Dokumente/PureBasic/Projekte/Programme/Ukufon/libfmod-3.75.so"
Debug FileSize(file$)
Debug OpenLibrary(0, file$)
Debug "---------------"

file$ = "/usr/lib/libfmod-3.75.so"
Debug FileSize(file$)
Debug OpenLibrary(0, file$)
Debug "---------------"
Ergebnis:

Code: Alles auswählen

445480
0
---------------
445480
134781360
---------------
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Hab eine andere DLL genutzt und keine Probleme

Code: Alles auswählen

file$ = GetHomeDirectory() + "purebasic/projecte/libgdsl.so.1.0.4"
Debug FileSize(file$)
Debug OpenLibrary(0, file$)
Debug "---------------"
fmod hab ich leider nicht, aber vielleicht haste nur nen link kopiert, oder ä. ?
Debugger hat geschrieben:219561
134793856
---------------
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

ts-soft hat geschrieben:fmod hab ich leider nicht, aber vielleicht haste nur nen link kopiert, oder ä. ?
hab die datei auf dem ganz normalen Weg mit cp kopiert, nebenbei zeigt ja auch FileSize eine identische Größe... sehr merkwürdig
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

:? Kanns an den Nutzerrechten liegen? (Ausführbarkeit/Lesen?)
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
walker
Beiträge: 278
Registriert: 29.08.2004 18:39
Wohnort: Bayern

Beitrag von walker »

... ich würde auf einen Schreibfehler (Groß-/Kleinschreibung) im Pfadnamen tippen.... die ist, anders als unter Windows, bei Linux von Bedeutung.... :wink:
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

...ich weise nochmals darauf hin, dass ich in meinem kleinen Testprog ein FileSize() eingebaut habe... damit prüfe ich die Anweseneit der Datei bzw. den korrekten Pfad...
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Lebostein hat geschrieben:...ich weise nochmals darauf hin, dass ich in meinem kleinen Testprog ein FileSize() eingebaut habe... damit prüfe ich die Anweseneit der Datei bzw. den korrekten Pfad...
Und die Dateirechte der Ordner("/home/user/MMC-SD/partition1/Dokumente/PureBasic/Projekte/Programme/Ukufon" und "/usr/lib"), Dateien("libfmod-3.75.so" in beiden Ordnern) sind identisch und gehören demselben User an?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten