错误/usr/include/string.h:652:42:错误:生成caffe时未在此作用域中声明“memcpy”
error /usr/include/string.h:652:42: error: ‘memcpy’ was not declared in this scope while building caffe
我正试图按照本指南编译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变体
由于代码源是一个众所周知的repo,我认为问题可能在Makefile或Makefile.config 中
经过长时间浏览各种互联网资源,我通过转到Makefile并更改行来解决这个问题
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
进入
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
对我来说,这是在406
上
相关文章:
- 错误:表达式必须具有算术、无作用域枚举或带有运算符重载的指针类型
- 重载时未在 C++ 的作用域错误中声明
- C2675 一元运算符由错误的作用域引起
- 在 C++ 中使用 "transform" 会给出一个错误,指出这未在作用域中声明
- C++/错误:表达式必须具有整数或无作用域枚举类型
- C++ 在方程中使用变量;错误:表达式必须具有整数或无作用域枚举类型及其他
- 错误:以增量方式填充向量时,表达式必须具有整数或无作用域枚举类型
- 在一个作用域中推送五个对象指针,然后检查对象的布尔值是否为 false,会给出错误
- 错误:数组大小表达式必须具有整型或无作用域枚举类型,而不是'double'
- 错误"未在作用域中声明",但带有接口
- 错误:未在此作用域c++中声明"length"
- 错误:未在此作用域中声明"fileno"
- 错误/usr/include/string.h:652:42:错误:生成caffe时未在此作用域中声明“memcpy”
- C++ 错误:未在作用域中声明
- 错误:函数未在作用域中声明
- G++ 错误:作用域运算符 (::) 的使用无效
- 未在此作用域中声明错误
- CodeBloks C++ 错误:未在作用域中声明
- gdb函数从本地作用域调用std::vector会导致错误
- 错误:包含windows.h时,未在作用域中声明SetLayeredWindowAttributes