gpt4 book ai didi

c++ - MongoDB 初始化失败,DuplicateKey

转载 作者:可可西里 更新时间:2023-11-01 10:42:58 24 4
gpt4 key购买 nike

我想在我的 C++ 应用程序中使用 MongoDB,我已经从 Git 下载了 MongoDb 二进制版本 3.0.5 和旧版 C++ 驱动程序版本 1.0.5 并安装了这两个版本。

我关注了 instruction使用此代码:

#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;
}

编译并运行后,我得到以下消息:

Attempt to add global initialiser failed, status: DuplicateKey GlobalLogManager Abort

一些想法?

最佳答案

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

解决方案是:

  • 用 C++03 (-std=c++03) 编译你的代码
  • 重新编译支持 C++11 的驱动程序。

对于驱动程序中的 C++11 支持,只需将 --c++11=on 传递给 scons

scons --c++11=on install

使用 GCC 4.9.1 测试

关于c++ - MongoDB 初始化失败,DuplicateKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31760149/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com