为了能到远方,脚下的每一步都不能少.|

BWCEN

园龄:1年7个月粉丝:1关注:1

openpose搭建报错

问题一:在VS中对项目进行生成时出现错误已完成生成项目“pyopenpose.vcxproj”的操作 - 失败。

查看错误细节,vs给出以下回应:

1>D:\Project\openpose\include\openpose/flags.hpp(49,1): warning C4245: “初始化”: 从“int”转换到“google::uint64”,有符号/无符号不匹配
1>D:\Project\openpose\3rdparty\pybind11\include\pybind11/numpy.h(35,22): error C2065: “ssize_t”: 未声明的标识符
1>D:\Project\openpose\3rdparty\pybind11\include\pybind11/numpy.h(35,31): error C2338: ssize_t != Py_intptr_t
1>已完成生成项目“pyopenpose.vcxproj”的操作 - 失败。

最终检查发现

1. 关于 ssize_t 的问题

  • 错误信息:
    error C2065: “ssize_t”: 未声明的标识符
    error C2338: ssize_t != Py_intptr_t
    这些错误表明 ssize_t 类型未被正确识别,可能是因为缺少相关的头文件
  • 解决方法:
    • 确保在代码中包含正确的头文件。ssize_t 通常定义在 <cstddef><sys/types.h> 中。如果使用的是 Windows,可以尝试在 pybind11/numpy.h 文件之前添加以下代码:
      #include <cstddef>
      或者在项目中定义 ssize_t
      #ifndef ssize_t
      typedef Py_intptr_t ssize_t;
      #endif
      这样可以确保 ssize_t 被正确识别

再次尝试对项目pyopenpose进行生成,生成成功

本文作者:BWCEN

本文链接:https://www.cnblogs.com/bwcen/p/18700857

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   BWCEN  阅读(23)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起