系统:Fedora10.0
程序:beginning linux programming chapter7 dbm1.c
报错:/tmp/cc4T13wv.o: In function `main':
dbm1.c:(.text+0x2d): undefined reference to `dbm_open'
dbm1.c:(.text+0x250): undefined reference to `dbm_store'
dbm1.c:(.text+0x2fb): undefined reference to `dbm_fetch'
dbm1.c:(.text+0x38a): undefined reference to `dbm_close'
collect2: ld returned 1 exit status
程序源代码如下:
编译的时候使用的编译命令如下,引入/usr/include/gdbm头文件搜索路径,链接库文件gdbm
gcc -o dbm1 -I/usr/include/gdbm dbm1.c -lgdbm
但是编译不通过,查看了头文件ndbm.h里面的内容没有错的的,命名有声明这个几个函数,然后百度之后找到答案,需要链接一个gdbm_compat库才可以。使用命令如下,编译成功。
gcc -o dbm1 -I/usr/include/gdbm dbm1.c -lgdbm -lgdbm_compat