为 Win64 构建 mongo-c-driver-1.16.2 时出现问题

Problems building mongo-c-driver-1.16.2 for Win64

我需要为 windows x64(.dll 扩展名)编译 MongoDB 驱动程序。我正在关注 this tutorial 与 visual studio 16 2019 和 cmake 3.17.0,但我发现了几个问题:

  1. 第一步是:
$ cd mongo-c-driver-x.y.z
$ mkdir cmake-build
$ cd cmake-build
$ cmake -G "Visual Studio 14 2015 Win64" \
    "-DCMAKE_INSTALL_PREFIX=C:\mongo-c-driver" \
    "-DCMAKE_PREFIX_PATH=C:\mongo-c-driver" \
    ..

但我收到有关 CMakeLists.txt 文件顶部信息缺失的错误消息。 cmake_minimum_required & 项目()。所以我写了它们。

  1. 然后,在文件末尾写了以下内容:
set_dist_list (src_libmongoc_tests_DIST
   CMakeLists.txt
   ${src_libmongoc_tests_DIST_cs}
   ${src_libmongoc_tests_DIST_hs}
   ${src_libmongoc_tests_DIST_zeros}
   ${src_libmongoc_tests_DIST_pems}
   ${src_libmongoc_tests_DIST_dats}
   ${src_libmongoc_tests_DIST_txts}
   ${src_libmongoc_tests_DIST_jsons}
)

由于 set_dist_list 命令出错,我不得不删除它

  1. 擦除后,它可以很好地使用命令:
cmake -G "Visual Studio 16 2019" -A "x64" -S "C:\...\mongo-c-driver-1.16.2" -B "C:\...\mongo-c-driver-1.16.2\cmake-build3" "-DCMAKE_INSTALL_PREFIX=C:\mongo-c-driver" "-DCMAKE_PREFIX_PATH=C:\mongo-c-driver"
  1. 下一步是:
$ msbuild.exe /p:Configuration=RelWithDebInfo ALL_BUILD.vcxproj

效果不错。

  1. 下一步是:
$ msbuild.exe INSTALL.vcxproj

没有INSTALL.vcxproj文件,所以我无法执行命令。我尝试了几次,但没有找到解决问题的方法。但是我在 Whosebug 上找到了 this。我遵循了所有步骤,但是当我搜索 mongo-c-driver 时,只有 1.15.1 可用。无论如何我继续但是当这个过程完成时我发现驱动程序在哪里 x86 而不是 x64 (它们在一个名为 x86-windows 的文件夹中)并且驱动程序似乎是1.0 版本(它们被称为 libmongoc-1.0.dll & libbson-1.0.dll)。

所以,结论是我浪费了很多时间我无法构建驱动程序。我在这两个过程中做错了什么?我如何获得为 .dll 格式的 x64 编译的 mongo-c-driver 的最新版本?

非常感谢您的时间和回复,我不知道如何继续,

赫克托

在 Windows 上构建 mongo-c-driver 的教程缺少应下载源代码的步骤(其他平台的段落提供)。因此,人们可能会想从发布页面下载 Source code (zip)。这只会在设置标签时为您提供存储库的副本。但必须在发布页面上使用 mongo-c-driver-1.16.2.tar.gz link。然后一切都应该工作。