我正在尝试使用本教程安装C++ MongoDB 2.4驱动程序:
http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-cpp-driver/

我使用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。

请帮我!

最佳答案

尝试使用crypto&ssl进行编译。
g++ tutorial.cpp -pthread -lmongoclient \ -lboost_thread -lboost_filesystem -lboost_program_options -lboost_system \ -lssl -lcrypto -o tutorial

关于c++ - MongoDB 2.4 C++驱动程序-对 `SSL_CTX_use_certificate_chain_file'的 undefined reference ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17538871/

10-10 21:27