Frage

Ich versuche, mein Programm zu kompilieren (es ist ein Server, der gemeinsam genutzten Speicher verwendet) und wenn ich versuche, den gemeinsam genutzten Speicher zu löschen (shmctl()) In einem Signalhandler für Sigint bekomme ich immer wieder

undefined reference to `schmctl'

Ich suchte herum und sah, dass dies normalerweise so etwas erfordert wie

 gcc -o server server.c -lrt 

Um zu kompilieren, aber selbst dann bekomme ich immer wieder den gleichen Fehler. Kann mir jemand helfen, zu verstehen, was ich tun sollte und was -LRT oder was benötigt wird?

War es hilfreich?

Lösung

-lrt bedeutet, dass Sie mit dem Verknüpfung librt.a Bibliothek. Um Ihren Fehler loszuwerden, sollten Sie die Bibliothek finden, in der das Symbol SHMCTL definiert ist, und dann an weiter weitergeben gcc.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top