我想使用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 ++驱动程序尚未安装.
我该如何正确安装?
在Ubuntu中,开发包与通用包是分开的.
为了使用mongodb头文件和客户端库,您需要sudo apt-get install mongodb-dev libmongo-client-dev- 这会添加允许您访问#include相关头文件的标头.
这假定您已经安装了包含客户端库的包libmongo-client和mongodb包,但是在安装-dev包时应该安装它们.
如果您从此处下载驱动程序源代码,
解压并解压
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)
| 归档时间: |
|
| 查看次数: |
5602 次 |
| 最近记录: |