整个安装caffe的流程是照这个走的。
在编译Caffe的过程中,执行
sudo make all
出现了报错:
/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support \
经过查询,得到了以下几种解决方案。
一、COMMON_FLAGS后加入-std=c++11
来源
打开makefile后,在COMMON_FLAGS后加入-std=c++11
于我无效
二、CXXFLAGS后加入-std=c++11
来源
在Makefile文件中 添加-std=c++11
CXXFLAGS += -MMD -MP -std=c++11
于我无效
三、CMAKE_CXX_FLAGS 后加入-std=c++11 O3
来源
在CMakeLists.txt的上方添加以下语句:
SET( CMAKE_CXX_FLAGS "-std=c++11 -O3")
于我无效
四、修改CXXFLAGS & NVCCFLAGS & LINKFLAGS
来源
修改Makefile文件
CXXFLAGS += -pthread -fPIC $(COMMON_FLAGS) $(WARNINGS) -std=c++11
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS) -std=c++11
LINKFLAGS += -pthread -fPIC $(COMMON_FLAGS) $(WARNINGS) -std=c++11
于我无效
五、修改CXX
看Makefile时看到很多是基于CXX进行的定义,于是在CXX后加上了-std=c++11
修改后如下:
# Custom compiler
ifdef CUSTOM_CXX
CXX := $(CUSTOM_CXX) -std=c++11
endif
成功
网友评论