C ++ Mongodb驱动程序,无法运行

时间:2015-06-07 20:34:59

标签: c++ mongodb qt exception driver

我在使用c ++ mongo db驱动程序时遇到问题。我下载了“legacy”分支,并使用vc12.0自动使用/ MD开关自行构建。 我试图连接到我的数据库并从集合中检索一些字段,但得到了奇怪的异常。我正在使用QT 5.4,代码是:

auto status = mongo::client::initialize();
std::string errmsg;
if(status.isOK())
{
try
{
    mongo::HostAndPort serv("127.0.0.1:27017");

    c.connect(serv,errmsg);
}
catch( const mongo::DBException &e ) {
    QString qstr(e.what());
    qDebug() << "caught " << qstr;
  }

mongo::Query query = mongo::Query("{'name':''}");
auto test = c.findOne("database.clients",query);
}

在findone行上我得到了异常: Errors http://rghost.ru/7PsTG9Sxc/image.png

在c ++驱动程序中执行find / findone查询的正确方法是什么? 并且,请给我另一个mongo驱动程序函数的工作示例,如何在c ++上正确运行它。

更新

Stack Trace异常的屏幕截图: enter image description here

我猜这是std :: string的一些问题?

更新2

好的,我在qt creator中创建了一个RELEASE版本,mongo驱动程序与我的programm版本构建工作正常。似乎我的程序/ MDd与/ MD mongodriver冲突。但是,我想用/ MDd编译mongodb驱动程序,所以我可以使用调试器,但是!当我使用dbg = on构建驱动程序时,我只获得一个库:libmongoclient-gd.lib。没有dll,没有“lubmongoclient”调试内置,就像这个驱动程序是什么?甚至可以使用/ MDd构建它

0 个答案:

没有答案