Chinaunix首页 | 论坛 | 博客
  • 博客访问: 402069
  • 博文数量: 14
  • 博客积分: 584
  • 博客等级: 中士
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-26 16:21
文章分类

全部博文(14)

文章存档

2011年(2)

2009年(7)

2008年(5)

我的朋友

分类: 数据库开发技术

2008-11-26 00:41:35

  今天看书<Linux程序设计>(第三版)第七章,编译两个dbm1.c和dbm2.c文件时编译错误,提示:

$ gcc -ldbm -o dbm1 dbm1.c
/usr/bin/ld: cannot find -ldbm
collect2: ld returned 1 exit status

把-ldbm改成-lgdbm仍然报错,查了下资料终于找到解决方案。

  把dbm1.c文件里的头文件声明#include 注释掉,然后把#include 头文件的注释去掉,如下:

//#include
/* On some systems you need to replace the above with */
#include <gdbm-ndbm.h>

编译文件时需要使用如下命令

$ gcc -lgdbm_compat -o dbm1 dbm1.c


  Ubuntu中默认安装的是gdbm数据库,应该使用gdbm实现来访问数据库。若还是需要以dbm若ndbm方式来访问数据库的话就需要使用gdbm-ndbm.h头文件,编译链接时应使用-lgdbm_compat链接选项
阅读(2738) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~