感谢支持
我们一直在努力

Linux dbm遇到的一些问题

遇到的问题一: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了。

赞(0) 打赏
转载请注明出处:服务器评测 » Linux dbm遇到的一些问题
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏