对'gdbm_open'的未定义引用

时间:2012-07-03 07:39:57

标签: gdbm

我已经安装了gdbm,命令“man gdbm”没问题。现在我尝试编写一个简单的gdbm程序。

#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <string.h>

#include <gdbm.h>

#define TEST_DB_FILE "/tmp/gdbm1_test.db"

int main()
{
    GDBM_FILE gdbm_ptr;
    gdbm_ptr = gdbm_open(TEST_DB_FILE, 0, GDBM_WRCREAT, 0666, NULL );

    if ( !gdbm_ptr )
    {
         fprintf(stderr, "Failed to open database\n");
         exit(EXIT_FAILURE);
    }
}

但是当它编译时,会发生“对'gdbm_open'的未定义引用”错误。我有包含gdbm.h,为什么会出现这样的错误?

1 个答案:

答案 0 :(得分:2)

您需要链接libgdbm:

gcc foo.c -lgdbm