2016-05-25 75 views
-1

我想運行Code :: Blocks中的程序,並在我的程序中使用了散列函數,如hsearchhcreate,但Code :: Blocks似乎不允許它們。未定義的散列函數引用

我的頭:

#include <search.h>  

已經包含,但錯誤,如"undefined reference to 'hsearch' "仍然出現。

有沒有辦法允許這些函數在Code :: Blocks中運行?

+2

「* undefined reference *」是鏈接器錯誤。 – alk

+0

你從哪裏得到圖書館?它似乎是錯誤配置,鏈接器無法鏈接它。 – meskobalazs

+0

@meskobalazs search.h從手冊頁[Here](http://linux.die.net/man/3/hcreate)獲得 – Boku

回答

1

頭文件只包含聲明。您需要安裝庫,其中包含實施

這就是它告訴你的。它發現聲明很好,但鏈接器沒有找到這些庫,因此鏈接錯誤。

在Linux上,search.h及其實現是libc的一部分,因此它已經可以使用了。但是,在Windows上,您需要獲取二進制版本,爲Code :: Blocks設置庫路徑,並在設置中使用鏈接器選項。

+0

啊,是的,這就是我要找的。我會在網上搜索一下,看看我能否找到它,並讓它工作。非常感謝! – Boku