gpt4 book ai didi

c++ - Windows LNK2001 : unresolved external symbol __imp_mongoc_read_prefs_new 中的 Mongocxx

转载 作者:行者123 更新时间:2023-11-30 05:17:52 24 4
gpt4 key购买 nike

我已完全按照以下文档中的说明(包括构建 mongo-c-driver 的说明)进行操作:https://mongodb.github.io/mongo-cxx-driver/mongocxx-v3/installation/

我正在尝试构建提供的示例代码(使用 VS2015),为方便起见,我将复制粘贴:

#include <iostream>

#include <bsoncxx/builder/stream/document.hpp>
#include <bsoncxx/json.hpp>

#include <mongocxx/client.hpp>
#include <mongocxx/instance.hpp>

int main(int, char**) {
mongocxx::instance inst{};
mongocxx::client conn{ mongocxx::uri{} };

bsoncxx::builder::stream::document document{};

auto collection = conn["testdb"]["testcollection"];
document << "hello" << "world";

collection.insert_one(document.view());
auto cursor = collection.find({});

for (auto&& doc : cursor) {
std::cout << bsoncxx::to_json(doc) << std::endl;
}
}

我已经根据提供的项目设置指定了头文件和库包含目录。我还添加了 MONGOCXX_STATIC 和 BSONCXX_STATIC 预处理器定义。

最初我将以下库添加到链接器设置中:libmongocxx.lib;libbsoncxx.lib;mongoc-static-1.0.lib;bson-1.0.lib;

当编译失败时,我尝试使用静态 bson 库(不确定为什么文档建议使用非静态库?),所以我的输入库现在如下所示:libmongocxx.lib;libbsoncxx.lib;mongoc -static-1.0.lib;bson-static-1.0.lib;

尽管我尽了最大的努力,并疯狂地谷歌搜索,我还是得到了大约 2000 个 Unresolved external 问题,我已经复制并粘贴到下面的一个示例中:

libmongocxx.lib(distinct.obj) : error LNK2001: unresolved external symbol __imp_mongoc_read_prefs_new

它似乎来自 mongo c 驱动程序。我看过this SO article ,但我已经如上所述链接 mongoc-static-1.0.lib - 不幸的是,这篇文章中没有其他内容可以继续。编译器显然正在找到所述库(否则它会提示“未找到”错误),所以我只能认为我以某种方式错误地构建了库。

此时我还要提到,我已经使用非静态库和 dll 成功构建并运行了代码 - 但是,非常希望避免使用 dll,因此我想使用静态如果可能的话。

我已经阅读了好几遍安装说明,我印象最深的是:

If you need static libraries, be sure to use the --enable-static configure option when building libmongoc.

但是,这似乎只适用于在 Linux 中安装,我正在使用 CMake 在 Windows 中安装。我运行 CMake.exe -LH 以查看有哪些可用选项,希望找到有关静态库的信息,但没有成功。似乎没有构建静态库所需的选项,因为当我安装 mongo-c-driver 时,我成功获得了 bson-static-1.0.lib 和 mongoc-static-1.0 库。

我发现自己不知所措!任何帮助将不胜感激,干杯。

最佳答案

你解决问题了吗?我有类似的问题。但是,如果您使用较旧的驱动程序(如 mongoc 1.4、bson 1.4 和 mongocxx 3.0)似乎没问题,尽管它们只能支持 mongodb 3.2 及更早版本

关于c++ - Windows LNK2001 : unresolved external symbol __imp_mongoc_read_prefs_new 中的 Mongocxx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42003413/

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