Я использовал для компиляции успешно caffe с WITH_PYTHON_LAYER: = 1 на Ubuntu 14.04. Затем я переключился на Ubuntu 16.04, используя те же настройки, но другое встроенное программное обеспечение, такое как g ++ 5.4 для 16.04 вместо g ++ 4.8 для 14.04, я не смог скомпилировать caffe с python. Не могли бы вы дать мне несколько советов по этому вопросу? Ниже приведено сообщение об ошибке, полученное мнойПроблемы с компиляцией caffe с python, неопределенная ссылка на `std :: __ cxx11 :: .... '
.build_release/lib/libcaffe.so: undefined reference to `std::overflow_error::overflow_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
.build_release/lib/libcaffe.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find(char, unsigned long) const'
.build_release/lib/libcaffe.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct(unsigned long, char)'
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libboost_python.so: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_construct(unsigned long, wchar_t)@GLIBCXX_3.4.21'
//usr/lib/x86_64-linux-gnu/libtbb.so.2: undefined reference to `std::out_of_range::out_of_range(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@GLIBCXX_3.4.21'
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libgflags.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) [email protected]_3.4.21'
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libglog.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&, unsigned long)@GLIBCXX_3.4.21'
.build_release/lib/libcaffe.so: undefined reference to `std::out_of_range::out_of_range(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
Makefile:619: recipe for target '.build_release/tools/caffe.bin' failed
make: *** [.build_release/tools/caffe.bin] Error 1
Похоже, вы не связываетесь со стандартной библиотекой. Что такое система сборки для библиотеки? – pat
Я не уверен, что такое система сборки. не могли бы вы указать, какую информацию мне нужно предоставить для вас? –
Как вы его строите? Вы вводите «./configure», затем «make», или вы должны сначала сказать «cmake ..» или что-то еще? – pat