我正在嘗試爲我的應用程序編寫一個基於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