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进行生成,生成成功

浙公网安备 33010602011771号