conner99 / caffe

Caffe: a fast open framework for deep learning.
http://caffe.berkeleyvision.org/
Other
72 stars 38 forks source link

Nvidia Cuda compilation error #20

Open conner99 opened 8 years ago

conner99 commented 8 years ago

Workaround to compile:

exclude detection_output_layer.cu and bbox_util.cu from Visual Studio

and comment out detection_output_layer.hpp Line 64-65 and test_bbox_util.cpp Line 1341-1811

conner99 commented 8 years ago

-file: src\caffe\util\detection_output_layer.cu


error C2292:

'boost::re_detail::perl_matcher<const char *,std::allocator<boost::sub_match<const char *>>,boost::regex_traits<char,boost::w32_regex_traits<charT>>>': Best Case-Vererbung: 'boost::re_detail::perl_matcher<const char *,std::allocator<boost::sub_match<const char *>>,boost::regex_traits<char,boost::w32_regex_traits<charT>>>': Best Case-Vererbung: 'virtual_inheritance' deklariert, aber 'single_inheritance' erforderlich  

'boost::re_detail::perl_matcher<std::_String_const_iterator<std::_String_val<std::_Simple_types<char>>>,std::allocator<boost::sub_match<std::_String_const_iterator<std::_String_val<std::_Simple_types<char>>>>>,boost::regex_traits<char,boost::w32_regex_traits<charT>>>': Best Case-Vererbung: 'virtual_inheritance' deklariert, aber 'single_inheritance' erforderlich

'boost::re_detail::perl_matcher<const wchar_t *,std::allocator<boost::sub_match<const wchar_t *>>,boost::regex_traits<wchar_t,boost::w32_regex_traits<charT>>>': Best Case-Vererbung: 'virtual_inheritance' deklariert, aber 'single_inheritance' erforderlich 

'boost::re_detail::perl_matcherstd::_String_const_iterator<std::_String_val<std::_Simple_types<wchar_t>>,std::allocatorboost::sub_match<std::_String_const_iterator<std::_String_val<std::_Simple_types<wchar_t>>>>,boost::regex_traits>>': Best Case-Vererbung: 'virtual_inheritance' deklariert, aber 'single_inheritance' erforderlich

'boost::re_detail::perl_matcher>,boost::regex_traits>>': Best Case-Vererbung: 'virtual_inheritance' deklariert, aber 'single_inheritance' erforderlich

'boost::re_detail::perl_matcher>>,std::allocator>>>>,boost::regex_traits>>': Best Case-Vererbung: 'virtual_inheritance' deklariert, aber 'single_inheritance' erforderlich

NugetPackages\boost.1.59.0.0\lib\native\include\boost\regex\v4\perl_matcher.hpp 345

conner99 commented 8 years ago

-file: src\caffe\util\bbox_util.cu

Solution https://hpc.nih.gov/development/glog.html file: \include\caffe\util\bbox_util.hpp + \include\caffe\common.hpp add

#define GLOG_NO_ABBREVIATED_SEVERITIES 

before

#include <glog/logging.h>

error C1189:

#error : ERROR macro is defined. Define GLOG_NO_ABBREVIATED_SEVERITIES before including logging.h. See the document for detail.

NugetPackages\glog.0.3.3.0\build\native\include\glog\log_severity.h 55

zchrissirhcz commented 5 years ago

My solution:

edit libraries_v120_x64_py27_1.1.0\libraries\include\boost-1_61\boost\regex\v4\perl_matcher.hpp, before#include <boost/regex/v4/iterator_category.hpp>, add:

#ifdef _MSC_VER
#pragma pointers_to_members( full_generality, single_inheritance )
#endif