如何在ubuntu中安装适用于c++的mongodb驱动程序



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

为了安装驱动程序,我遵循了以下步骤:https://groups.google.com/forum/?fromgroups=#!msg/mongodb用户/-mPG7MDJgm8/nZSiN42DJWIJ(Waitman Gobble/6月5日回答)

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

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

我很确定问题是MongoDB c++驱动程序还没有安装。

如何正确安装?

如果您从这里下载驱动程序源代码,

打开的包装并解压缩

tar xzf mongodb-linux-x86_64-v2.0-latest.tgz 

然后cd进入目录。

cd mongo-cxx-driver-v2.0/

然后使用烤饼构建

scons

并安装

sudo scons install

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

sudo  g++ tutorial.cpp -I/usr/local/include/mongo -lmongoclient 
-lboost_thread -lboost_filesystem -lboost_program_options -o tutorial

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

sudo vi /etc/ld.so.conf 

并添加

/usr/local/lib

然后运行

sudo ldconfig

并运行教程

$ ./tutorial 
connected ok

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

export LD_LIBRARY_PATH=/usr/local/lib
$ ./tutorial 
connected ok

在Ubuntu中,用于开发的软件包与用于一般用途的软件包是分开的。

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

这假设您已经安装了包含客户端库的libmongo-clientmongodb软件包,尽管它们应该在安装-dev软件包时安装。

最新更新