2016-05-15 3 views
2

Ich versuche caffe nach dieser Anleitung zu kompilieren: https://gist.github.com/wangruohui/679b05fcd1466bb0937fFehler /usr/include/string.h:652:42: Fehler: ‚memcpy‘ wurde nicht in diesem Umfang erklärt, während caffe Gebäude

Jedoch, wenn ich auch make all bekommen erhalte ich die Fehler

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 

Aber /usr/include/string.h ist nicht einmal in der caffe Code so was gibt? Dies ist in einer ubuntu-Variante, die eng 16.04

Sehen als die Quelle des Codes ist eine bekannte Repo Ich denke, das Problem ist wahrscheinlich in der Datei Makefile oder die Makefile.config

Antwort

7

Nach einer langen Zeit auf der Suche durch folgt verschiedene Internet-Quellen, die ich dieses Problem gelöst, indem auf das Makefile zu gehen und die Änderung die Linie

NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS) 

in

NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS) 

Für mich war dies auf Linie 406

+0

ist dies das von cmake erzeugte Makefile? scheint anders zu sein – thang

Verwandte Themen