問題描述:在編寫ndbm接口函數時,找不到相應的頭文件,用ls命令查看,/usr/include中也沒有想對應的頭文件,無論是#include <ndbm.h>或#include <gdbm-ndbm.h>,都無法找到。
解決方法:安裝gdbm,因為在/usr/include中,沒有關於dbm的任何頭文件,所以是沒有安裝的原因:
用以下命令安裝:
sudo apt-get install libgdbm-dev
完成之後,在/usr/include文件中出現想對應的頭文件。再次編譯,取得成功。
在源文件中用頭文件 #include <gdbm-ndbm.h>
Ubuntu中默認安裝的是gdbm數據庫,應該使用gdbm實現來訪問數據庫。若還是需要以dbm若ndbm方式來訪問數據庫的話就需要使用gdbm-ndbm.h頭文件,編譯鏈接時應使用-lgdbm_compat鏈接選項
例如:gcc -o dbm1 -I /usr/include/gdbm dbm1.c -lgdbm_compat -lgdbm
更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2