c++ - MongoDB 2.4 C++ 驱动程序 - 对 `SSL_CTX_use_certificate_chain_file' 的 undefined reference

标签 c++ mongodb ubuntu openssl undefined-reference

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

请帮助我!

最佳答案

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

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

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

相关文章:

c# - 文档中的 MongoDB 求和值

java - 使用 mongodb 查找,同时使用 java 中的吗啡迭代列表

linux - Gzip:符号链接(symbolic link)级别太多

linux - 为什么 "$ git log --graph "不工作

ubuntu - JPS 给出空输出,没有一个 Hadoop 守护进程以 start-all.sh 开头,Hadoop Psudo 分布式模式,在 64 位 Windows 操作系统上运行的 32 位虚拟机上

c++ - 像 GTA IV 这样的游戏如何不碎片化堆?

c++ - 如何遍历 C++ 中的 unicode 字符?

c++ - 使用依赖项编译 PIN 工具

c++ - 反转 18 位 int 的二进制补码

mongodb - ChicagoBoss 似乎没有将正确的值保存到 MongoDB 中