2013-04-11 2 views
1

j'avais dl le MongoDB-c-pilote à partir github.com, et le compiler sans problème, cependant, alors que je tente de compiler mon programme C, problème se produit:MongoDB pilote C avec mon programme

testmongo.c:(.text+0x20): undefined reference to 'mongo_client' 
testmongo.c:(.text+0x80): undefined reference to 'mongo_destroy' 

Je lier la bibliothèque mongodb dans ldconfig, cependant, cette situation ne change pas ...

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

int main() { 
    mongo conn[1]; 
    int status = mongo_client(conn, "127.0.0.1", 27017); 

    if(status != MONGO_OK) { 
     switch (conn->err) { 
     case MONGO_CONN_NO_SOCKET: printf("no socket\n"); return 1; 
     case MONGO_CONN_FAIL:  printf("connection failed\n"); return 1; 
     case MONGO_CONN_NOT_MASTER: printf("not master\n"); return 1; 
     } 
    } 

    mongo_destroy(conn); 

    return 0; 
} 

quelqu'un pourrait-il aider? Merci beaucoup !!!

+0

Quelle commande utilisez-vous pour le compiler? –

Répondre

0

Je suppose que je devrais soumettre ceci comme réponse jusqu'à ce que plus d'information soit donnée. Sur une intuition, vous pourriez manquer -lmongoclient de votre commande gcc.

gcc -o myprog -lmongoclient source.c 
+0

Merci beaucoup pour votre aide !!! Il fonctionne quand je compilez avec: gcc -o myprog -lmongoc mysource.c Cependant, de quelque façon que je ne pouvais courir gcc -o myprog mysource.c pour obtenir le même résultat ?? Merci! – moriya

+0

Non, vous devrez indiquer à gcc les bibliothèques à inclure. Vous pouvez utiliser un Makefile pour simplifier le processus: http://www.cs.colby.edu/maxwell/courses/tutorials/maketutor/ –

+0

Merci beaucoup !!! – moriya

Questions connexes