我正在尝试为我的应用程序编写一个基于C的小型客户端,用于mongo数据库。首先让我说,现在我很久没有用C语言编程了,所以可能是我面对的问题是一个非常基本的问题!我只是无法让我的代码编译:-)Mac OSX上的MongoDB C驱动程序Lion
我正在使用64位Apple Macbook Pro(OSX Lion)。海合会:
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结帐到0.6,然后跑去做。
make
make install
make test
测试运行良好和库被正确安装在/ usr/local/lib目录/ 与.h文件要正确地到/ usr /本地/包括。
然后我复制粘贴一段代码到一个名为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
我在做什么错?
也许这可以帮助:http://stackoverflow.com/ question/8034568/undefined-symbols-for-architecture-x86-64-which-architecture-should-i-use – 2012-07-18 12:40:13
nope。最奇怪的是,测试工作,但我的代码甚至没有编译相同的海湾合作委员会:( – aishwarya 2012-07-18 12:53:48
测试的输出记录在某处? – 2012-07-18 13:20:31