【问题标题】:i can't import range-v3 library via vcpkg我无法通过 vcpkg 导入 range-v3 库
【发布时间】:2020-04-22 15:12:29
【问题描述】:

我找到了 range-v3 库,我试图按照 https://ericniebler.github.io/range-v3/index.html 中的示例进行操作

我正在使用 Visual Studio 2019,并通过 vcpkg 安装了 range-v3 库 但是...我在 range::views 命名空间中找不到任何函数。 什么问题???

在空项目中,我在命令行选项中添加了 /std:c++latest /permissive- 和 /experimental:preprocessor,并且包括了 range/v3/all.hpp。我错过了什么???

std::vector<int> const vi{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
using namespace ranges;
auto rng = vi | views::remove_if([](int i) { return i % 2 == 1; }) // ican't find remove_if function
    | views::transform([](int i) { return std::to_string(i); });
// rng == {"2","4","6","8","10"};
return 0;

【问题讨论】:

  • 我不是说英语的国家的人...对不起我的英语不好

标签: c++ range-v3 vcpkg


【解决方案1】:

因为 vcpkg 发布了早期版本的 range-v3,它将东西放在 ranges::view 命名空间中。除此之外,还有许多其他差异。请参阅 vcpkg 中版本随附的文档,祝您好运。

【讨论】:

  • 非常感谢您的帮助~
【解决方案2】:

vcpkg 是个好主意,但大多数端口已经过时了几个月:boost、fmt、range-v3...

只需从 Eric 的 github 页面手动下载当前版本并设置包含文件夹的路径 - 对于 header-only-libraries,您不需要 vcpkg。

【讨论】:

  • 非常感谢您的帮助~
猜你喜欢
  • 2019-06-29
  • 2022-01-26
  • 1970-01-01
  • 1970-01-01
  • 2013-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-06
相关资源
最近更新 更多