【问题标题】:OpenPose: E0312 / no suitable user-defined conversion from "fLS::clstring" to "const op::String" and other errorsOpenPose:E0312/没有合适的用户定义从“fLS::clstring”到“const op::String”的转换和其他错误
【发布时间】:2020-05-06 21:32:40
【问题描述】:

我的 NB 几周前崩溃了,在我的 Linux Ubuntu 上运行良好的东西,现在却不行。我需要在我的第二个笔记本(我工作的那个)上安装 OpenPose 并使其工作。不幸的是,我这里只有 Windows 10,无法安装其他操作系统。我无法使 CMake 正常工作,所以我抓住了最后的机会,我试图在 Visual Studio 中运行它。我已将所有库、可执行文件和包含添加到我的项目中,并尝试运行我的项目。而现在,一些 GFLAGS 无法正常工作。现在,有以下两种类型的一些错误:

E0312 / no suitable user-defined conversion from "fLS::clstring" to "const op::String"

C++ no operator matches these operands
    operand types are: std::tuple<op::ProducerType &, std::string &> = std::pair<op::ProducerType, op::String>

你能帮我解决这个错误吗?我知道出了什么问题,但我该如何解决呢?我认为它可能是旧笔记本和新笔记本之间的另一个版本的 OpenPose。但是,如何解决呢?

非常感谢。 再见

【问题讨论】:

    标签: c++ opencv openpose


    【解决方案1】:

    我假设您使用的是最新的 OpenPose。从OpenPose 1.6.0 开始,在代码中进行了一些更改,例如op::String 作为std::string 的容器。

    鉴于问题中的信息非常有限,我提出以下建议 解决方法-

    1. 您可以通过执行git checkout tags/v1.5.1 来签出 OpenPose 1.5.1
    2. 如果您想坚持使用最新版本,请使用op::String 功能。下面给出了一个显示比较的示例 -
      // Older versions, i.e., OpenPose version < 1.6
      const auto outputSize = op::flagsToPoint(FLAGS_output_resolution, "-1x-1");
      // Newer versions, i.e., OpenPose version >= 1.6
      const auto outputSize = op::flagsToPoint(op::String(FLAGS_output_resolution), "-1x-1");
      

    最后,如果您能提供更多详细信息,例如 OpenPose 版本、MWE 等,我将不胜感激。

    【讨论】:

    • 对不起,您是对的,我应该提供更多详细信息。一个月前,我按照以下说明通过 MS Visual Studio 安装了 openpose:github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/…。这很奇怪,但是在我的 openpose 目录的 CMakeLists.txt 中有 1.5.1 版本。但是如果你写的是op::String 是从 1.6 开始使用的,我必须是 1.6。根据openpose github,10天前发布了1.6,我在一个月前安装了它。我真的很困惑。
    • 添加op::String()后,出现一些新的错误。我将尝试再次编译 OpenPose,但 v1.5.1。但是您的回答非常有帮助,并且它是我问题的解决方案,因此我将其作为正确的答案进行检查。谢谢
    • 很高兴它有帮助!
    • 嗨,有没有办法获取或打印 OpenPose 版本?从源代码或命令行?或者它在某个文件或什么东西中?我无法谷歌它(我还没有找到它)。谢谢
    • 您应该创建了一个新问题,因为它与此问题无关。无论如何,如果编译器找不到它,您应该能够使用 std::cout &lt;&lt; OPEN_POSE_VERSION_STRING; 包含 #include &lt;openpose/core/macros.hpp&gt; 打印 OpenPose 版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 2021-05-03
    • 1970-01-01
    • 2020-01-13
    • 2017-09-25
    • 2014-11-04
    相关资源
    最近更新 更多