我想使用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-client
和mongodb
软件包,尽管它们应该在安装-dev
软件包时安装。