私は単純なmongoクライアントを作成しようとしています。ソース・ファイル(AC):mongo-cドライバの例をコンパイルできません
gcc -I/usr/local/include -L/usr/local/lib -lmongoc a.c
しかし、エラーを取得:
a.c:(.text+0xd): undefined reference to `mongo_init'
ファイルは/ usr/local /含める/モンゴを
#include <stdio.h>
#define MONGO_HAVE_STDINT
#include <mongo.h>
void mongo_init_c(mongo *con)
{
mongo_init(con);
}
int main() {
return 0;
}
、私はとそれをコンパイルしてみてください。 hと/usr/local/lib/libmongoc.soが存在する
どのようにしてACを正しくコンパイルできますか?
p.s.モンゴ-2.0.4、GCC-4.6、モンゴ-C-ドライバ - githubのから
を引っ張っ更新
$ NM /usr/local/lib/libmongoc.so | grepのinitを
000034e0 T _init
0000dd10 T bson_init
0000c740 T bson_init_data
0000c7b0 T bson_init_finished_data
0000dc10 T bson_init_size
0000d060 T bson_iterator_init
0000a5e0 T gridfile_init
00009af0 T gridfile_writer_init
000095e0 T gridfs_init
00010a18 R initialBufferSize
00005f40 T mongo_cursor_init
00008da0 T mongo_env_sock_init
00005d90 T mongo_init
000057b0 T mongo_init_sockets
00004800 T mongo_md5_init
00005e40 T mongo_replica_set_init
00005f00 T mongo_replset_init
00005b80 T mongo_write_concern_init
$のgcc -Iは/ usr//ローカルが
/tmp/cccuNEp1.o: In function `mongo_init_c':
a.c:(.text+0xd): undefined reference to `mongo_init'
'nm /usr/local/lib/libmongoc.so |を実行してみてください。 grep init'を実行し、それが何を伝えるか教えてください。また、 'gcc -Wall -Werror'でコンパイルしてください。 –
@John Zwinck更新を参照してください – user1312837