这个版本仍然没有解决不能编译动态库的问题,MongoDB这帮人发什么神经? 原来两个绕过的方法也不行了。 只有使用静态库了。 下载
这个版本仍然没有解决不能编译动态库的问题,MongoDB这帮人发什么神经?
原来两个绕过的方法也不行了。
只有使用静态库了。
下载最新版的代码,编译
scons --prefix=/usr install
旧版的C++代码会编译报错,因为ScopedDbConnection的构造函数变成了私有,,必须通过静态方法来创建。
所以调用代码要做相应调整。
我的CMake工程配置如下:
target_link_libraries(service ${Boost_LIBRARIES} booster loki cryptopp mongoclient)
应该没有问题了。
分享一下我的C++封装类:
#ifndef BUSINESS_UTIL_MONGO_SESSION_H_
#define BUSINESS_UTIL_MONGO_SESSION_H_
#include
#include
#include
using std::string;
class MongoSession {
public:
/**
* 从连接池中获取连接,如果没有则创建一个
*/
MongoSession(string const& host, double socketTimeout=0);
/**
* 归还连接到池中
*/
~MongoSession();
/**
* 返回已经获得的连接
*/
mongo::DBClientBase& GetDBClientBase();
private:
std::auto_ptr<:scopeddbconnection> con_;
};
#endif
MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里
推荐阅读:
CentOS编译安装MongoDB
CentOS 编译安装 MongoDB与mongoDB的php扩展
CentOS 6 使用 yum 安装MongoDB及服务器端配置
Ubuntu 13.04下安装MongoDB2.4.3
如何在MongoDB中建立新数据库和集合
MongoDB入门必读(概念与实战并重)