Windows下安装dlib无论pip 还是源码编译都存在以下一个问题:
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '/m']' returned non-zero exit status 1.
很诡异,其实是numpy.h中使用Py_ssize_t而不是ssize_t。只要解决这个就可以。所以修改方式如下,在dlib-19.22\dlib\external\pybind11\include\pybind11/numpy.h中,将:
#if defined(_MSC_VER)
# pragma warning(push)
# pragma warning(disable: 4127) // warning C4127: Conditional expression is constant
#endif
改成:
#if defined(_MSC_VER)
# pragma warning(push)
# pragma warning(disable: 4127) // warning C4127: Conditional expression is constant
#include <BaseTsd.h>
typedef SSIZE_T ssize_t;
#endif
主要是这一句,19.24之后将“using ssize_t = SSIZE_T;”改成“typedef SSIZE_T ssize_t;”也可以
我叫谢琛,深度学习探索者一枚!(有意咨询xiec177)
tensorflow/pytorch交流群请加QQ:548368797