Mac OSX Lion上的MongoDB C驱动程序

时间:2012-07-18 09:31:25

标签: c mongodb gcc

我正在尝试为我的应用程序为mongo db编写一个基于C的小客户端。让我首先说我现在很长时间没有在C中编程,所以我面临的问题可能是一个非常基本的问题!我只是无法编译我的代码: - )

我正在使用64位Apple Macbook Pro(OSX Lion)。 gcc是:

Target: i686-apple-darwin11
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)

我git克隆了mongo c driver,做了一个git checkout到0.6然后运行make。

make
make install
make test

测试运行正常,库已正确安装在/ usr / local / lib /中  .h文件正确地转到/ usr / local / include。

然后我将一段代码粘贴到名为data.c的文件中,如下所示:

#include <stdio.h>
#include "mongo.h"

int main() {
  mongo conn[1];
  int status = mongo_connect(conn, "127.0.0.1", 27017);
  return 0;
}

没什么特别的,只是想尝试打开一个连接。当我尝试编译它时,我收到以下错误:

gcc --std=c99 -I/usr/local/include -L/usr/local/lib -o data data.c -lmongoc

Undefined symbols for architecture x86_64:
  "_mongo_connect", referenced from:
      _main in ccjPPPVs.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status

我做错了什么?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

mac-link上似乎存在一个问题,而不是静态库。