我试图按照本指南编译caffe:https://gist.github.com/wangruohui/679b05fcd1466bb0937f
然而,当我得到make all
时,我收到了错误
NVCC src/caffe/layers/hdf5_data_layer.cu
/usr/include/string.h: In function ‘void* __mempcpy_inline(void*, const void*, size_t)’:
/usr/include/string.h:652:42: error: ‘memcpy’ was not declared in this scope
return (char *) memcpy (__dest, __src, __n) + __n;
^
Makefile:585: recipe for target '.build_release/cuda/src/caffe/layers/hdf5_data_layer.o' failed
但是/usr/include/string.h甚至不在caffe代码中,所以给出了什么?这是一个紧随16.04
的ubuntu变体看到代码的来源是一个众所周知的回购我觉得问题可能在Makefile或Makefile.config
答案 0 :(得分:10)
经过很长一段时间浏览各种互联网资源后,我通过转到Makefile并更改了行解决了这个问题
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
进入
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
对我而言,这就是406