linux dbm数据库,Linux dbm遇到的一些问题

在Linux环境下,遇到GCC编译时出现undefined reference to `dbm_open'错误,问题在于需要链接gdbm_compat库。通过添加-L和-lgdbm_compat选项成功解决。另外,安装gdbm后找不到ndbm.h,但找到gdbm-ndbm.h,通过将文件重命名为ndbm.h解决了问题。
摘要由CSDN通过智能技术生成

遇到的问题一:gcc编译老是 undefined reference to `dbm_open'

具体描述 :

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

这条语句老是出错。我通过deb包安装了一次dbm,其文件分别在/usr/include 和/user/lib 中我将其包含进去编译出错。于是我尝试自己下载源文件,自己编译,

编译好的文件分别在 /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了

本篇文章来源于 Linux公社网站()  原文链接:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值