2013-07-09 29 views
2

我試圖安裝使用本教程中的C++的MongoDB 2.4驅動程序: http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-cpp-driver/MongoDB的2.4 C++驅動 - 未定義參考`SSL_CTX_use_certificate_chain_file」

我下載和內置驅動程序的源代碼,成功利用scons的。

當我嘗試使用推薦的命令編譯樣本C++文件:

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

我收到以下錯誤:

/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' 

我檢查,我已經安裝了此包: libssl1.0.0 libssl-dev。

請幫幫我!

回答

5

嘗試使用加密編譯& ssl。

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