这个版本仍然没有解决不能编译动态库的问题,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 <string>
#include <memory>
#include <mongo/client/connpool.h>using std::string;
class MongoSession {
public:
/**
* 从连接池中获取连接,如果没有则创建一个
*/
MongoSession(string const& host, double socketTimeout=0); /**
* 归还连接到池中
*/
~MongoSession();
/**
* 返回已经获得的连接
*/
mongo::DBClientBase& GetDBClientBase(); private:
std::auto_ptr<mongo::ScopedDbConnection> con_;
};
#endif
MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里
推荐阅读:CentOS编译安装MongoDB http://www.linuxidc.com/Linux/2012-02/53834.htmCentOS 编译安装 MongoDB与mongoDB的php扩展 http://www.linuxidc.com/Linux/2012-02/53833.htmCentOS 6 使用 yum 安装MongoDB及服务器端配置 http://www.linuxidc.com/Linux/2012-08/68196.htmUbuntu 13.04下安装MongoDB2.4.3 http://www.linuxidc.com/Linux/2013-05/84227.htm如何在MongoDB中建立新数据库和集合 http://www.linuxidc.com/Linux/2013-06/85749.htmMongoDB入门必读(概念与实战并重) http://www.linuxidc.com/Linux/2013-07/87105.htm
Windows 2003 从Oracle 9201 update to 9208MySQL 5.6复制新特性相关资讯 MongoDB MongoDB使用
- MongoDB 3.3.0 发布下载 (01月14日)
- 使用MongoDB C#官方驱动操作 (12/31/2015 16:27:56)
- CentOS 6.6下安装MongoDB 3.0.1 (12/21/2015 19:29:02)
| - MongoDB 3.2版WiredTiger存储引擎 (01月02日)
- 进程监控工具Supervisor 启动 (12/26/2015 10:49:57)
- MongoDB 3.2.1 RC0 发布下载 (12/18/2015 11:32:29)
|
本文评论 查看全部评论 (0)