歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux dbm遇到的一些問題

Linux dbm遇到的一些問題

日期:2017/2/28 16:32:19   编辑:Linux教程

遇到的問題一:gcc編譯老是 undefined reference to `dbm_open'

具體描述 :

gcc -I/user/include -L/user/lib -o dbm1 dbm1.c -lgdbm

這條語句老是出錯。我通過deb包安裝了一次dbm,其文件分別在/usr/include 和/user/lib 中我將其包含進去編譯出錯。於是我嘗試自己下載源文件,自己編譯, http://Ubuntu.cn99.com/ubuntu/pool/main/g/gdbm/

編譯好的文件分別在 /user/local/include 和/user/local/lib中,我將其包含進去編譯,還是出現錯誤。意識到問題不在文件這。

真正的問題是,如果用gdbm,還要兼容dbm或ndmb,編譯的時候要連接上gdbm_compat。使用下面這條命令,我通過了。

gcc -I/user/include -L/user/lib -o dbm1 dbm1.c -lgdbm -lgdbm_compat

如果是自己編譯文件,先./configure 再make 再make install 最後make install-compat(這個就是安裝那個擴展)。這些閱讀下載的壓縮包裡面的README文件便清楚了。

遇到的問題二:找不到ndbm.h

具體描述: 通過deb包安裝gdbm之後,發現找不到所需要的ndbm.h頭文件。但是你會發現一個叫gdbm-ndbm.h的文件,你只需要把文件名改成ndbm.h就可以了,當然需要一定權限。

sudo cp '/usr/include/gdbm-ndbm.h' '/usr/include/ndbm.h'

這樣就OK了。

Copyright © Linux教程網 All Rights Reserved