如何在ubuntu中安装c ++的mongodb驱动程序?

Sey*_*emi 2 c++ mongodb

我想使用c ++为mongoDB开发一个相当简单的应用程序,我按照他们的教程:http://www.mongodb.org/pages/viewpage.action? pageId = 133415

并安装驱动程序我遵循这一个: https ://groups.google.com/forum/ fromgroups =#! msg/mongodb-user/-mPG7MDJgm8/nZSiN42DJWIJ(Waitman Gobble/5 jun answer)

但是当我尝试编译一个简单的应用程序时,我会得到以下错误:

致命错误:client/dbclient.h:没有这样的文件或目录

我很确定问题是MongoDB c ++驱动程序尚未安装.

我该如何正确安装?

Pet*_*esh 5

在Ubuntu中,开发包与通用包是分开的.

为了使用mongodb头文件和客户端库,您需要sudo apt-get install mongodb-dev libmongo-client-dev- 这会添加允许您访问#include相关头文件的标头.

这假定您已经安装了包含客户端库的包libmongo-clientmongodb包,但是在安装-dev包时应该安装它们.


gea*_*kie 5

如果您从此处下载驱动程序源代码,

解压并解压

tar xzf mongodb-linux-x86_64-v2.0-latest.tgz 
Run Code Online (Sandbox Code Playgroud)

然后cd进入目录。

cd mongo-cxx-driver-v2.0/
Run Code Online (Sandbox Code Playgroud)

然后使用scons进行构建

scons
Run Code Online (Sandbox Code Playgroud)

并安装

sudo scons install
Run Code Online (Sandbox Code Playgroud)

然后,要编译本教程中显示的代码,您还需要指定/ usr / local / include / mongo目录作为包含文件搜索路径。

sudo  g++ tutorial.cpp -I/usr/local/include/mongo -lmongoclient 
-lboost_thread -lboost_filesystem -lboost_program_options -o tutorial
Run Code Online (Sandbox Code Playgroud)

然后运行它,您将需要编辑/etc/ld.so.conf文件。

sudo vi /etc/ld.so.conf 
Run Code Online (Sandbox Code Playgroud)

并添加

/usr/local/lib
Run Code Online (Sandbox Code Playgroud)

然后跑

sudo ldconfig
Run Code Online (Sandbox Code Playgroud)

并运行教程

$ ./tutorial 
connected ok
Run Code Online (Sandbox Code Playgroud)

作为编辑ld.so.config文件的替代方法,您可以使用LD_LIBRARY_PATH环境变量。所以你会做

export LD_LIBRARY_PATH=/usr/local/lib
$ ./tutorial 
connected ok
Run Code Online (Sandbox Code Playgroud)