caffe编译报错解决

添加ssd中的一些层之后,编译报错:

../lib/libcaffe.so.1.0.0-rc5:对‘boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::raise_runtime_error(std::runtime_error const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::cpp_regex_traits<char>::toi(char const*&, char const*, int) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::put_mem_block(void*)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::write(cv::Mat const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_mem_block()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::isOpened() const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::verify_options(unsigned int, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_default_error_string(boost::regex_constants::error_type)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::~VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter(cv::String const&, int, double, cv::Size_<int>, bool)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform(char const*, char const*) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform_primary(char const*, char const*) const’未定义的引用
collect2: error: ld returned 1 exit status
tools/CMakeFiles/extract_features.dir/build.make:136: recipe for target 'tools/extract_features' failed
make[2]: *** [tools/extract_features] Error 1
CMakeFiles/Makefile2:553: recipe for target 'tools/CMakeFiles/extract_features.dir/all' failed
make[1]: *** [tools/CMakeFiles/extract_features.dir/all] Error 2
make[1]: *** 正在等待未完成的任务....
../lib/libcaffe.so.1.0.0-rc5:对‘boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::raise_runtime_error(std::runtime_error const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::cpp_regex_traits<char>::toi(char const*&, char const*, int) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::put_mem_block(void*)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::write(cv::Mat const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_mem_block()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::isOpened() const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::verify_options(unsigned int, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_default_error_string(boost::regex_constants::error_type)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::~VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter(cv::String const&, int, double, cv::Size_<int>, bool)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform(char const*, char const*) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform_primary(char const*, char const*) const’未定义的引用
collect2: error: ld returned 1 exit status
examples/CMakeFiles/convert_mnist_data.dir/build.make:136: recipe for target 'examples/mnist/convert_mnist_data' failed
make[2]: *** [examples/mnist/convert_mnist_data] Error 1
CMakeFiles/Makefile2:1060: recipe for target 'examples/CMakeFiles/convert_mnist_data.dir/all' failed
make[1]: *** [examples/CMakeFiles/convert_mnist_data.dir/all] Error 2
../lib/libcaffe.so.1.0.0-rc5:对‘boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::raise_runtime_error(std::runtime_error const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::cpp_regex_traits<char>::toi(char const*&, char const*, int) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::put_mem_block(void*)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::write(cv::Mat const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_mem_block()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::isOpened() const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::verify_options(unsigned int, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_default_error_string(boost::regex_constants::error_type)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::~VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter(cv::String const&, int, double, cv::Size_<int>, bool)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform(char const*, char const*) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform_primary(char const*, char const*) const’未定义的引用
collect2: error: ld returned 1 exit status
tools/CMakeFiles/upgrade_net_proto_binary.dir/build.make:136: recipe for target 'tools/upgrade_net_proto_binary' failed
make[2]: *** [tools/upgrade_net_proto_binary] Error 1
CMakeFiles/Makefile2:793: recipe for target 'tools/CMakeFiles/upgrade_net_proto_binary.dir/all' failed
make[1]: *** [tools/CMakeFiles/upgrade_net_proto_binary.dir/all] Error 2
../lib/libcaffe.so.1.0.0-rc5:对‘boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::raise_runtime_error(std::runtime_error const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::cpp_regex_traits<char>::toi(char const*&, char const*, int) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::put_mem_block(void*)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::write(cv::Mat const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_mem_block()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::isOpened() const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::verify_options(unsigned int, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_default_error_string(boost::regex_constants::error_type)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::~VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter(cv::String const&, int, double, cv::Size_<int>, bool)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform(char const*, char const*) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform_primary(char const*, char const*) const’未定义的引用
collect2: error: ld returned 1 exit status
tools/CMakeFiles/upgrade_net_proto_text.dir/build.make:136: recipe for target 'tools/upgrade_net_proto_text' failed
make[2]: *** [tools/upgrade_net_proto_text] Error 1
CMakeFiles/Makefile2:601: recipe for target 'tools/CMakeFiles/upgrade_net_proto_text.dir/all' failed
make[1]: *** [tools/CMakeFiles/upgrade_net_proto_text.dir/all] Error 2
../lib/libcaffe.so.1.0.0-rc5:对‘boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::raise_runtime_error(std::runtime_error const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::cpp_regex_traits<char>::toi(char const*&, char const*, int) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::put_mem_block(void*)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::write(cv::Mat const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_mem_block()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::isOpened() const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::verify_options(unsigned int, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_default_error_string(boost::regex_constants::error_type)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::~VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter(cv::String const&, int, double, cv::Size_<int>, bool)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform(char const*, char const*) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform_primary(char const*, char const*) const’未定义的引用
collect2: error: ld returned 1 exit status
tools/CMakeFiles/caffe.bin.dir/build.make:136: recipe for target 'tools/caffe' failed
make[2]: *** [tools/caffe] Error 1
CMakeFiles/Makefile2:985: recipe for target 'tools/CMakeFiles/caffe.bin.dir/all' failed
make[1]: *** [tools/CMakeFiles/caffe.bin.dir/all] Error 2
../lib/libcaffe.so.1.0.0-rc5:对‘boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const..*/,lib/libcaffe.so.1.0.0 -rc5:std:对‘boost:::match_results<__gnu_cxx:__cxx11:__normal_iterator<char const*, std::__cxx11::basic_string<char, std::::char_traits<char>, std:basic_string<:allocator<char> > >char, std::,allocator<boost: :sub_match<__gnu_cxxstd::__normal_iterator<:char const*,: std::__cxx11:char_traits:basic_string<char,< std::charchar_traits<char>,> std::,allocator<char>  > > > > >::maybe_assign(boost::match_results<std__gnu_cxx:::__normal_iterator<char const*, std::__cxx11:::basic_string<char,allocator< std::char_traits<char>,char std::allocator<char> > >,> std::allocator ><boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std >::__cxx11::basic_string<char, std >::char_traits<char>, std: :allocator<char> > > > > > > >const&)’未定义�:��引:用
../libmaybe_assign/libcaffe.so.1.0.0-rc5(:��boost���:�boost::re_detail::raise_runtime_error(std::runtime_error const&)’未定义的引用
../lib/libcaffe.so.1.0.0:match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5��-rc5��对‘��boost�::re_detail::��‘boost:raise_runtime_error(std:cpp_regex_traits<::runtime_errorchar>: const:toi(char const*&, char&)’未定 const*义的�, int���) const’朔�
../lib/libcaffe.so.1.0.0���-rc5��义缚嚄弯�‘��boost::��
cpp_regex_traits<char../lib/libcaffe.so.1.0.0-rc5�>::toi(char const*&,��对�� char�boost: const*:re_detail:, int:put_mem_block() const’void*)未’��定乪安皚乄弉皕��弔�
���../�
lib/libcaffe.so.1.0.0../lib/libcaffe.so.1.0.0--rc5:对�rc5:寀�boost���::re_detail�cv:::put_mem_block:VideoWriter:(void*:write()��cv::��Mat const��&)�定��义未的定引义�用���
../lib/���libcaffe.so.1.0.0-rc5��
../:lib/libcaffe.so.1.0.0对-rc5‘:cv::对VideoWriter::‘boost:write(cv:re_detail::Mat::perl_matcher const&<__gnu_cxx:)��:__normal_iterator<��char const���*, ��义的std::__cxx11::引basic_string<char用, std
..::char_traits/lib/libcaffe.so.1.0.0-<char>, rc5:对‘boost::re_detail::perl_matcher<std::allocator<char> > >, std::allocator<boost::__gnu_cxx::__normal_iterator<charsub_match<__gnu_cxx const*::__normal_iterator, std<char ::__cxx11const*,::basic_string std::__cxx11:<char,:basic_string< std:char, :char_traits<std::char>,char_traits<char std:>, :allocatorstd::<charallocator<char> > >,> > std > ::allocator> ><boost, boost::regex_traits<::sub_match<__gnu_cxx::char, boost:__normal_iterator<char:cpp_regex_traits< const*char>, std >::__cxx11 >::basic_string::construct_init<char,(boost: std::basic_regex:char_traits<char, boost::<char>, std::allocator<char>regex_traits<char, boost:: > >cpp_regex_traits<char > > >>,  > boost::regex_traitsconst&,<char boost:, boost:regex_constants::cpp_regex_traits::_match_flags<char>)�� > ���>::�定��construct_init(boost���::���basic_regex<char���, boost�
..::regex_traits/lib/libcaffe.so.1.0.0-rc5�<char, boost::cpp_regex_traits<char> >��对�� > const&�boost::re_detail:, boost:::get_mem_block()’��regex_constants::_match_flags)’未宪定义�义的的引引用
../用
../liblib/libcaffe.so.1.0.0-rc5/libcaffe.so.1.0.0:-rc5�对���‘���cv:��boost::VideoWriter::isOpened(:re_detail::get_mem_block()�) const ���朜����定��乹���皚�弄��用
../lib��用
..//libcaffe.so.1.0.0lib/libcaffe.so.1.0.0-rc5�-rc5:弚对��� �cv�boost:::VideoWriter:re_detail:::isOpened:verify_options(unsigned () int, const��boost::��regex_constants::���_match_flags)⮚䀙���未嚄引箚䔨
���../lib/��引��libcaffe.so.1.0.0-rc5�
.:./lib对/libcaffe.so.1.0.0‘-rc5boost:::re_detail:对:verify_options��(unsigned�boost:: int, boostre_detail::::get_default_error_string(boostregex_constants::_match_flags)::regex_constants::error_type)’��’未�定义定的�义���的��
.引�./lib/libcaffe.so.1.0.0-rc5:唨
../lib/libcaffe.so.1.0.0-rc5ﯹ⼚倘boost���::re_detail��cv::VideoWriter:::get_default_error_string(boost::regex_constants::error_type:~VideoWriter())’未�’未定䮚义繉的嚄引缕用
��
../lib/libcaffe.so.1.0.0-rc5../lib/libcaffe.so.1.0.0-rc5:�:���对��cv:‘:VideoWriter:cv::VideoWriter::VideoWriter(:~VideoWritercv::()��String const���&, ���int, double�义的引��, cv::Size_<int>, �
../lib/libcaffe.so.1.0.0-rc5��bool)’未定义的��对‘����cv::VideoWriter:�
../lib/libcaffe.so.1.0.0-rc5:VideoWriter(cv::String const&,: int对, double‘, cvboost::::Size_basic_regex<char<int>, boost, bool::regex_traits)��<char,��� boost:�定:cpp_regex_traits<义char>的 > >:引用
.:do_assign(char const./lib*, /libcaffe.so.1.0.0-char constrc5��*,��� unsigned ���int)’未�boost::basic_regex<char, boost定义的�::regex_traits<char,��� boost:��
:cpp_regex_traits<../char> lib/libcaffe.so.1.0.0> >::do_assign(-rc5:char const*, char const*, unsigned对‘cv::VideoWriter::VideoWriter()’ int)’未定未定义��义的�引引�用��

....//liblib/libcaffe.so.1.0.0-rc5:对/libcaffe.so.1.0.0-rc5:�‘cv��‘boost:::VideoWriter:re_detail::VideoWriter()’::cpp_regex_traits_implementation<char>::transform未(char 定const*,�� char ���const*���) const�用’�
../lib��定/libcaffe.so.1.0.0��-rc5��:���引甯�

.�boost:./lib:re_detail/libcaffe.so.1.0.0-::cpp_regex_traits_implementationrc5��<char>���::transform���(char�boost const*::re_detail, ::char cpp_regex_traits_implementationconst<char>*:): transform_primaryconst(�char� ��const�*�,� char �const*�)� �const��瀚���圼���售��
�.�.�/��lib�/�libcaffe.so.1.0.0�-��rc5�屮�
�collect2: error: ld returned 1 exit status
��‘boost::re_detail::cpp_regex_traits_implementation<char>::transform_primary(char const*, char const*) const’未定义的引用
collect2: error: ld returned 1 exit status
tools/CMakeFiles/upgrade_solver_proto_text.dir/build.make:136: recipe for target 'tools/upgrade_solver_proto_text' failed
make[2]: *** [tools/upgrade_solver_proto_text] Error 1
CMakeFiles/Makefile2:649: recipe for target 'tools/CMakeFiles/upgrade_solver_proto_text.dir/all' failed
make[1]: *** [tools/CMakeFiles/upgrade_solver_proto_text.dir/all] Error 2
examples/CMakeFiles/classification.dir/build.make:136: recipe for target 'examples/cpp_classification/classification' failed
make[2]: *** [examples/cpp_classification/classification] Error 1
CMakeFiles/Makefile2:1108: recipe for target 'examples/CMakeFiles/classification.dir/all' failed
make[1]: *** [examples/CMakeFiles/classification.dir/all] Error 2
../lib/libcaffe.so.1.0.0-rc5:对‘boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::raise_runtime_error(std::runtime_error const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::cpp_regex_traits<char>::toi(char const*&, char const*, int) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::put_mem_block(void*)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::write(cv::Mat const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_mem_block()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::isOpened() const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::verify_options(unsigned int, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_default_error_string(boost::regex_constants::error_type)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::~VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter(cv::String const&, int, double, cv::Size_<int>, bool)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform(char const*, char const*) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform_primary(char const*, char const*) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::collect2: error: ld returned 1 exit status
__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::raise_runtime_error(std::runtime_error const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::cpp_regex_traits<char>::toi(char const*&, char const*, int) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::put_mem_block(void*)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::write(cv::Mat const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_mem_block()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::isOpened() const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::verify_options(unsigned int, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_default_error_string(boost::regex_constants::error_type)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::~VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter(cv::String const&, int, double, cv::Size_<int>, bool)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, tools/CMakeFiles/compute_image_mean.dir/build.make:136: recipe for target 'tools/compute_image_mean' failed
unsigned int)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform(char const*, char const*) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform_primary(char const*, char const*) const’未定义的引用
collect2: error: ld returned 1 exit status
make[2]: *** [tools/compute_image_mean] Error 1
CMakeFiles/Makefile2:697: recipe for target 'tools/CMakeFiles/compute_image_mean.dir/all' failed
make[1]: *** [tools/CMakeFiles/compute_image_mean.dir/all] Error 2
examples/CMakeFiles/convert_mnist_siamese_data.dir/build.make:136: recipe for target 'examples/siamese/convert_mnist_siamese_data' failed
make[2]: *** [examples/siamese/convert_mnist_siamese_data] Error 1
CMakeFiles/Makefile2:1156: recipe for target 'examples/CMakeFiles/convert_mnist_siamese_data.dir/all' failed
make[1]: *** [examples/CMakeFiles/convert_mnist_siamese_data.dir/all] Error 2
../lib/libcaffe.so.1.0.0-rc5:对‘boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::raise_runtime_error(std::runtime_error const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::cpp_regex_traits<char>::toi(char const*&, char const*, int) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::put_mem_block(void*)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::write(cv::Mat const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_mem_block()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::isOpened() const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::verify_options(unsigned int, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_default_error_string(boost::regex_constants::error_type)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::~VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter(cv::String const&, int, double, cv::Size_<int>, bool)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform(char const*, char const*) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform_primary(char const*, char const*) const’未定义的引用
collect2: error: ld returned 1 exit status
examples/CMakeFiles/convert_cifar_data.dir/build.make:136: recipe for target 'examples/cifar10/convert_cifar_data' failed
make[2]: *** [examples/cifar10/convert_cifar_data] Error 1
CMakeFiles/Makefile2:1204: recipe for target 'examples/CMakeFiles/convert_cifar_data.dir/all' failed
make[1]: *** [examples/CMakeFiles/convert_cifar_data.dir/all] Error 2
../lib/libcaffe.so.1.0.0-rc5:对‘boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::raise_runtime_error(std::runtime_error const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::cpp_regex_traits<char>::toi(char const*&, char const*, int) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::put_mem_block(void*)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::write(cv::Mat const&)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_mem_block()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::isOpened() const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::verify_options(unsigned int, boost::regex_constants::_match_flags)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::get_default_error_string(boost::regex_constants::error_type)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::~VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter(cv::String const&, int, double, cv::Size_<int>, bool)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘cv::VideoWriter::VideoWriter()’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform(char const*, char const*) const’未定义的引用
../lib/libcaffe.so.1.0.0-rc5:对‘boost::re_detail::cpp_regex_traits_implementation<char>::transform_primary(char const*, char const*) const’未定义的引用
collect2: error: ld returned 1 exit status
tools/CMakeFiles/convert_imageset.dir/build.make:136: recipe for target 'tools/convert_imageset' failed
make[2]: *** [tools/convert_imageset] Error 1
CMakeFiles/Makefile2:745: recipe for target 'tools/CMakeFiles/convert_imageset.dir/all' failed
make[1]: *** [tools/CMakeFiles/convert_imageset.dir/all] Error 2
[ 88%] Linking CXX shared library ../lib/_caffe.so
解决方法(使用cmake-gui编译):

在caffe/cmake/Dependencies.cmake  中某个位置添加如下两行:

list(APPEND Caffe_LINKER_LIBS PUBLIC "boost_regex")
list(APPEND Caffe_LINKER_LIBS PUBLIC "opencv_videoio")

再次编译即可。

 

如果是用Make编译,需要在Makefile文件内进行如下的添加

ifeq ($(USE_OPENCV), 1)
    LIBRARIES += opencv_core opencv_imgproc opencv_videoio

    ifeq ($(OPENCV_VERSION), 3)
        LIBRARIES += opencv_imgcodecs opencv_videoio
    endif

endif


LIBRARIES += glog gflags protobuf boost_system boost_filesystem boost_regex m hdf5_hl hdf5

 相应的Makefile.config中需要注意的地方:

INCLUDE_DIRS := /home/public/software_install/protobuf-3.1.0/include $(PYTHON_INCLUDE) /usr/local/include /home/public/weizhang/opencv-3.4.5/build/install/include /usr/include/hdf5/serial 
LIBRARY_DIRS := /home/public/software_install/protobuf-3.1.0/lib $(PYTHON_LIB) /usr/local/lib /usr/lib /home/public/weizhang/opencv-3.4.5/build/install/lib

 

posted @ 2018-01-08 16:31  rainsoul  Views(7044)  Comments(1Edit  收藏  举报