gpt4 book ai didi

c++ - 使用 mongocxx 驱动时访问冲突读取位置

转载 作者:行者123 更新时间:2023-11-30 04:50:18 26 4
gpt4 key购买 nike

我在使用 mongodb c++ 驱动程序时遇到了一些问题。

我有以下代码并且运行良好:

//bsoncxx::document::value doc-->It was defined properly before

static mongocxx::instance inst{};

mongocxx::client conn{ mongocxx::uri{} };

auto db = conn["Test"];

auto res = db["Executions"].insert_one(std::move(doc));

但是当我改为:

static mongocxx::instance inst{};

mongocxx::client conn{ mongocxx::uri{} };

auto db = conn[dbName];

auto res = db[colName].insert_one(std::move(doc));

(dbName 和 colName 是函数的字符串参数)

当代码到达该行时:

auto db = conn[dbName];

我得到以下异常:

Access violation reading location 0x0000726F74636570

我使用的是 Windows 7 x64 和 Visual Studio 2017

有人知道为什么会这样吗?

感谢您的宝贵时间。

最佳答案

这里没有足够的信息可以确定,我将大胆猜测并说您正在混合调试和发布运行时,这样 std::string已编译的 mongocxx 库和您的应用程序的内部布局不同。

为您希望能够使用的每种形式的 CRT 构建一次驱动程序非常重要,并且您的应用程序根据其当前构建配置选择正确的驱动程序。

https://learn.microsoft.com/en-us/cpp/build/reference/md-mt-ld-use-run-time-library?view=vs-2017

关于c++ - 使用 mongocxx 驱动时访问冲突读取位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55047860/

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