2016-05-25 20 views
-1

Ich versuche, ein Programm in Code :: Blocks auszuführen, und in meinem Programm habe ich die Hash-Funktionen wie hsearch und hcreate verwendet, aber Code :: Blocks scheint sie nicht zuzulassen.Undefinierter Verweis auf Hash-Funktion

Ich habe den Header:

#include <search.h>  

bereits enthalten, aber Fehler wie "undefined reference to 'hsearch' " kommt noch auf.

Gibt es überhaupt, um diese Funktionen in Code :: Blocks überhaupt ausführen zu lassen?

+2

"* undefined Referenz *" ist Linker Fehler. – alk

+0

Woher haben Sie die Bibliothek? Es scheint, als wäre es falsch konfiguriert, und der Linker kann es nicht verknüpfen. – meskobalazs

+0

@meskobalazs Die search.h wurde von der man-Seite erhalten [Hier] (http://linux.die.net/man/3/hcreate) – Boku

Antwort

1

Header-Dateien enthalten nur die Deklarationen. Sie müssen die Bibliotheken installiert haben, die die Implementierung enthalten.

Und das was es dir sagt. Es hat die Deklarationen gut gefunden, aber der Linker hat die Bibliotheken nicht gefunden, daher der Verknüpfungsfehler.

Unter Linux ist die search.h und ihre Implementierung Teil der libc, so dass es bereits einsatzbereit ist. Unter Windows müssen Sie jedoch eine Binärversion davon erstellen, den Bibliothekspfad für Code :: Blocks einrichten und die Linkeroptionen in den Einstellungen verwenden.

+0

Ahhh ja, das ist was ich suche. Ich werde ein wenig im Internet suchen und schauen, ob ich es finden kann und es funktioniert. Ich danke dir sehr! – Boku

Verwandte Themen