首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未能找到unique_ptr的多填充驱动程序

未能找到unique_ptr的多填充驱动程序
EN

Stack Overflow用户
提问于 2020-09-08 22:43:41
回答 1查看 268关注 0票数 1

我试图在Windows上构建mongo-cxx-driver;我正在跟踪使用说明,但正在收到错误:

代码语言:javascript
复制
C1189   #error:  "Cannot find a valid polyfill for make_unique"

我所做的是:

建筑蒙哥-c-司机

我使用指定的最小发行版(1.15)克隆了mongo-c-driver

代码语言:javascript
复制
git clone https://github.com/mongodb/mongo-c-driver --branch r1.15

使用CMake(我使用的是3.18.2),我使用VisualStudio162019生成器生成了.proj文件。我使用了默认设置:

这将成功构建,我可以在.dll和.lib文件中找到相应的C:\Program Files (x86)\mongo-c-driver文件。

大厦蒙戈-cxx-司机

我使用我想要的版本(与上面版本的mongo-c-driver兼容)克隆了这个项目:

代码语言:javascript
复制
git clone https://github.com/mongodb/mongo-cxx-driver --branch releases/v3.5

我使用Cmake-Gui来配置CMake参数,并配置了安装mongo-c的路径。

值得一提的是:

  • 我没有填写bson-1.0_DIRmongoc-1.0_DIR,因为我不知道他们在寻找什么。
  • 我设置BSONCXX_POLY_USE_STD=1是因为我使用的是C++17,不想使用std::experimental或Boost。

我尝试在Visual中编译它,并得到了上面关于没有为make_unique找到一个有效的填充的错误。我哪里出错了?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-18 19:16:06

答案似乎是在安装指南,我错过了一步:

对于使用VisualStudio2017进行构建(没有C++17填充),有必要使用一个附加选项/Zc:__cplusplus来选择__cplusplus的正确定义(此处描述的问题): ‘c:\程序文件(x86)\CMake\bin\cmake.exe’. -G "Visual 15 2017 Win64“-DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_FLAGS="/Zc:__cplusplus”-DCMAKE_PREFIX_PATH=C:\mongo DCMAKE_INSTALL_PREFIX=C:\mongo driver\

我按要求添加了"/Zc:__cplusplus“标志,它编译得很好!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63802477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档