アプリケーション用に 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)
mongo c driverを git clone し、0.6 に git checkout してから 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
私は何を間違っていますか?