2016-04-24 9 views
1

Ich erstelle gemeinsam genutzte Bibliothek libpl.so.Wie gcc mit einer gemeinsam genutzten Bibliothek kompilieren?

Ich verwende diesen Befehl, Verbindungen zu schaffen:

ln -s libpl.so.1.0.1 libpl.so.1 
ln -s libpl.so.1.0.1 libpl.so 

Und jetzt versuche ich mein Programm zu kompilieren mit:

gcc main.c -o main -L. -libpl 

aber ich habe erros:

/usr/bin/ld: cannot find -libpl 
collect2: error: ld returned 1 exit status 

Was sollte Ich tue es, um es zu reparieren? Wie kompilieren Sie es?

+1

-lpl .......... –

+0

schließen, aber immer noch nicht ./main funktioniert: Fehler beim Laden gemeinsam genutzter Bibliotheken: liblp.so.1: kann keine freigegebene Objektdatei öffnen: Keine solche Datei oder kein Verzeichnis – Ice

+0

Wenn die Ausführung während der Laufzeit fehlschlägt, gehen Sie folgendermaßen vor: Export LD_LIBRARY_PATH =. /: $ LD_LIBRARY_PATH' –

Antwort

0

Diese Zeile:

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:`pwd`" 

richtig funktioniert.

Kompilieren mit:

gcc main.c -o main -L. -lpl 

Runing mit:

./main 
1

sollten Diese Linie helfen:

export LD_LIBRARY_PATH=/path/to/libpl.so:$LD_LIBRARY_PATH 

Sie dieses Tutorial folgen sollte on shared libraries on linux

Dieses Tutorial auf alle Ihre Fragen beantworten kann.

+0

Ich bin fertig, funktioniert immer noch nicht richtig :( – Ice