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