编译opencv时也报错:
/usr/include/string.h: 在函数‘void* __mempcpy_inline(void*, const void*, size_t)’中:
/usr/include/string.h:652:42: 错误: ‘memcpy’在此作用域中尚未声明
这可能是由于gcc编译器版本太新,可以这样做:
sudo gedit /usr/include/string.h
搜索memcpy,定位到最后一次出现的地方,把这段注释掉
/*
__extern_always_inline void *
__mempcpy_inline (void *__restrict __dest,
const void *__restrict __src, size_t __n)
{
return (char *) memcpy (__dest, __src, __n) + __n;
}
*/
在编译caffe时,也报这个错,解决方法是打开makefile搜索并替换
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
为
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)