2013-07-09 2 views
2

Je suis en train d'installer le pilote C++ MongoDB 2.4 en utilisant ce tutoriel: http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-cpp-driver/MongoDB 2.4 pilote C++ - référence non définie à `SSL_CTX_use_certificate_chain_file »

J'ai téléchargé et construit le code source du pilote avec succès en utilisant scons.

Quand je suis en train de compiler le fichier d'exemple C++ en utilisant la commande recommandée:

$ g++ tutorial.cpp -pthread -lmongoclient -lboost_thread-mt -lboost_filesystem -lboost_program_options -lboost_system -o tutorial 

Je reçois l'erreur suivante:

/usr/lib/gcc/i686-linux-gnu/4.7/../../../../lib/libmongoclient.a(sock.o): 
In function `mongo::SSLManager::setupPEM(std::string const&, std::string const&)': 
(.text+0xc99): undefined reference to `SSL_CTX_use_certificate_chain_file' 
/usr/lib/gcc/i686-linux-gnu/4.7/../../../../lib/libmongoclient.a(sock.o): 
In function `mongo::SSLManager::setupPEM(std::string const&, std::string const&)': 
(.text+0xceb): undefined reference to `SSL_CTX_set_default_passwd_cb_userdata' 

J'ai vérifié et je l'ai déjà installé ces paquets: libssl1.0.0 libssl-dev.

Aidez-moi s'il vous plaît!

Répondre

5

Essayez de compiler avec crypto & ssl.

g++ tutorial.cpp -pthread -lmongoclient \ -lboost_thread -lboost_filesystem -lboost_program_options -lboost_system \ -lssl -lcrypto -o tutorial