在Ubuntu14上面編譯Caffe2時,出現(xiàn):
libopencv_imgcodecs.so.3.3:對‘std::__cxx11::basic_string, std::allocator >::assign(char const*)@GLIBCXX_3.4.21’未定義的引用
及
libleveldb.so.1:對‘std::__cxx11::basic_string, std::allocator >::_M_replace_aux(unsigned long, unsigned long, unsigned long, char)@GLIBCXX_3.4.21’未定義的引用
類似錯誤。
然后采取源碼編譯??libleveldb??libopencv
libleveldb:
1、下載源碼
2、make,然后cp? ?so庫? 到? 指定目錄,本機(jī)為/home/bainuo/anaconda2/lib
libopencv:
參考了https://www.cnblogs.com/arkenstone/p/6490017.html
1、下載源碼及opencv_contrib-3.3.1
2、
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/bainuo/lz/opencv-3.3.1/install -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D OPENCV_EXTRA_MODULES_PATH=/home/bainuo/lz/opencv_contrib-3.3.1/modules -D PYTHON_EXCUTABLE=/home/bainuo/anaconda2/bin/python -D BUILD_TIFF=ON
如果不帶BUILD_TIFF=ON,會報(bào):
../../../lib/libopencv_imgcodecs.so.3.3.1:對‘TIFFReadRGBAStrip@LIBTIFF_4.0’未定義的引用
類似錯誤
3、cp? 庫到指定位置
libgflags
1、下載源碼??git clone https://github.com/gflags/gflags
2、cmake -D BUILD_SHARED_LIBS=ON ..
3、拷貝SO到指定位置
按照指定的測試,可以通過。