之前写过mongodb数据库的安装,现在要用C++连接数据库。
在网上看到几个C++连接数据库的例子,借用一下:
#include<iostream>
using namespace std;
#include <iostream>
#include "client/dbclient.h"
using namespace mongo;
using namespace std;
void run()
{
DBClientConnection c;
c.connect("localhost");
}
int main()
{
try {
run();
cout << "connected ok" << endl;
} catch( DBException &e ) {
cout << "caught " << e.what() << endl;
}
return 0;
}
建立一个main.cpp的测试文件,来测试是否能够连接成功。
编译g++ main.cpp -I /usr/include/mongo/ /usr/lib/libmongoclient.a -lboost_thread -lboost_filesystem -lboost_program_options,出现如下:
/usr/bin/ld: cannot find -lboost_thread
/usr/bin/ld: cannot find -lboost_filesystem
/usr/bin/ld: cannot find -lboost_program_options
找不到boost的一些动态库,有时候不没安装,记得安装,安装好以后找一下有没有上面的那写文件,这写文件有可能是以,so结尾,但是如果不是以.so结尾,
那么就把他拷贝并且重命名到/usr/lib/的目录下,如果是.so,那么直接拷贝到/usr/lib目录下就OK了。
然后再编译一下就能通过了。
PS:boost库的安装在官网有,但是比较简单。
一般解压在/usr/share的目录下,然后首先解压出来的目录,进入tools/build/v2/的目录,里面有一个bootstrap.sh的脚本,以root权限运行,
然后到刚解压出来的目录,运行./bjam install --prefix=PREFIX 也可以./b2 install --prefix=PREFIX (这里的PREFIX是你要安装的目录,我安装在/usr/lib中)