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 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步