Chinaunix首页 | 论坛 | 博客
  • 博客访问: 266231
  • 博文数量: 40
  • 博客积分: 589
  • 博客等级: 中士
  • 技术积分: 549
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-10 16:03
文章分类

全部博文(40)

文章存档

2013年(6)

2012年(34)

我的朋友

分类: Mysql/postgreSQL

2012-12-03 11:38:28

遇到的问题一: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公社网站()  原文链接:

阅读(1895) | 评论(0) | 转发(0) |
0

上一篇:如何向妻子解释OOD

下一篇:JSON 基础

给主人留下些什么吧!~~