【问题标题】:MongoDB 2.4 C++ driver - Undefined reference to `SSL_CTX_use_certificate_chain_file'MongoDB 2.4 C++ 驱动程序 - 对“SSL_CTX_use_certificate_chain_file”的未定义引用
【发布时间】:2013-07-06 12:10:50
【问题描述】:

我正在尝试使用本教程安装 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。

请帮帮我!

【问题讨论】:

    标签: c++ mongodb ubuntu openssl undefined-reference


    【解决方案1】:

    尝试使用加密和 ssl 进行编译。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-17
      相关资源
      最近更新 更多