Caffe:opencv错误

c++ opencv python-3.x opencv3.0 caffe

13738 观看

5回复

1208 作者的声誉

我从源代码构建了opencv 3.0,并且可以运行一些示例应用程序,根据标题构建,所以我认为它已成功安装。

我也在使用python3,现在我去安装和构建caffe。由于拥有AMD GPU和Anaconda,我在Makefile.config中设置了一些变量,因为我正在使用CPU。

当我运行make all时,我收到此错误:

$ make all
CXX/LD -o .build_release/examples/cpp_classification/classification.bin
/usr/bin/ld: .build_release/examples/cpp_classification/classification.o: undefined reference to symbol '_ZN2cv6imreadERKNS_6StringEi'
//usr/local/lib/libopencv_imgcodecs.so.3.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:565: recipe for target '.build_release/examples/cpp_classification/classification.bin' failed
make: *** [.build_release/examples/cpp_classification/classification.bin] Error 1

从搜索我认为这与使用openCV 3有关,但我不知道从哪里开始寻找解决方案。有帮助吗?

是的,我是那些希望摆弄Google Inception学习技术的无经验用户之一。

作者: user1561108 的来源 发布者: 2015 年 7 月 6 日

回应 (5)


1

1208 作者的声誉

我用旗子cmake代替了-DBUILD_TIFF=ON并获得了成功。

作者: user1561108 发布者: 08.07.2015 10:15

13

966 作者的声誉

你也可以opencv_imgcodecs在第187行添加到MakeFile ,看看这个拉动

作者: Jon 发布者: 03.10.2015 12:51

8

1194 作者的声誉

可能是您正在使用OpenCV版本3.如果是,只需取消注释以下行Makefile.config

# OPENCV_VERSION := 3

所以它看起来像

OPENCV_VERSION := 3

您可以执行以下操作来验证当前使用的版本:

$ python
>>> import cv2
>>> cv2.__version__
'3.1.0-dev'
作者: MZHm 发布者: 09.12.2016 05:14

2

21 作者的声誉

问题报告非常清楚。链接库库存在问题。原因可能是3.0和2.x之间的差异。你需要添加

opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs

进入LIBRARIES + =。

作者: 慕容曜 发布者: 16.04.2018 04:42

0

1 作者的声誉

您可以Makefile.config使用以下两行进行编辑,这对我有用。请注意,您的opencv路径必须在默认路径之前设置

INCLUDE_DIRS := $(PYTHON_INCLUDE) /home/young/Soft/openCV-3.3.1/include \
    /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /home/young/Soft/openCV-3.3.1/lib \
    /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial                                                                                            
作者: Young 发布者: 07.05.2019 03:08
32x32