MongoDB初始化失败,重复密钥 我想从我的C++应用程序中使用MangGDB,我已经从Git下载了MunGDB二进制版本3.0.5和传统C++驱动程序版本1.0.5,并安装了两者。

MongoDB初始化失败,重复密钥 我想从我的C++应用程序中使用MangGDB,我已经从Git下载了MunGDB二进制版本3.0.5和传统C++驱动程序版本1.0.5,并安装了两者。,c++,mongodb,C++,Mongodb,我遵循以下代码: #include <cstdio> #include <mongo/bson/bson.h> #include <mongo/client/dbclient.h> int main(int argc, char *argv[]) { mongo::Status status = mongo::client::initialize(); return 0; } 一些想法?当使用为C++03编译的传统驱动程序(默认)和使用C++11/

我遵循以下代码:

#include <cstdio>
#include <mongo/bson/bson.h>
#include <mongo/client/dbclient.h>

int main(int argc, char *argv[])
{
  mongo::Status status = mongo::client::initialize();

 return 0;
}

一些想法?

当使用为C++03编译的传统驱动程序(默认)和使用C++11/C++14编译的应用程序代码时,我可以重现相同的行为。它总是对故障进行分段,有时写入相同的消息(取决于优化级别)。请参阅上的相关错误

解决办法是:

  • 用C++03编译代码(
    -std=C++03
  • 使用C++11支持重新编译驱动程序
对于驱动程序中的C++11支持,只需将
--C++11=on
传递到
scons

scons --c++11=on install
按照GCC 4.9.1进行测试

scons --c++11=on install