2

我想使用 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 回答)

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

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

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

我怎样才能正确安装它?

4

2 回答 2

5

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

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

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

于 2012-09-11T13:43:10.640 回答
5

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

解压并解压

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

然后 cd 进入目录。

cd mongo-cxx-driver-v2.0/

然后使用scons构建

scons

并安装

sudo scons install

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

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
于 2012-09-13T11:27:35.053 回答