undefined reference to cv::_InputArray::_InputArray(cv::Mat const&)undefined reference to cv::_Input_对‘cv::imdecode(cv::_inputarray const&, int, cv::ma-程序员宅基地

技术标签: 深度学习  

我电脑上本来是有编译好的caffe的,但是由于要跑的代码里作者自带了caffe,为了防止后续跑代码时不必要的麻烦,索性就重新按照作者的方法编译了一下caffe(不过是在另一个分支上进行的,并不影响我原来的caffe)。于是乎就遇到了问题:

CXX/LD -o .build_release/examples/siamese/convert_mnist_siamese_data.bin
.build_release/lib/libcaffe.so:对‘cv::imread(cv::String const&, int)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imdecode(cv::_InputArray const&, int)’未定义的引用
collect2: error: ld returned 1 exit status
make: *** [.build_release/tools/extract_features.bin] 错误 1
make: *** 正在等待未完成的任务....
.build_release/lib/libcaffe.so:对‘cv::imread(cv::String const&, int)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imdecode(cv::_InputArray const&, int)’未定义的引用
collect2: error: ld returned 1 exit status
make: *** [.build_release/examples/cifar10/convert_cifar_data.bin] 错误 1
.build_release/lib/libcaffe.so:对‘cv::imread(cv::String const&, int)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imdecode(cv::_InputArray const&, int)’未定义的引用
collect2: error: ld returned 1 exit status
make: *** [.build_release/tools/compute_image_mean.bin] 错误 1
.build_release/lib/libcaffe.so:对‘cv::imread(cv::String const&, int)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imdecode(cv::_InputArray const&, int)’未定义的引用
collect2: error: ld returned 1 exit status
make: *** [.build_release/tools/convert_imageset.bin] 错误 1
.build_release/lib/libcaffe.so:对‘cv::imread(cv::String const&, int)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imdecode(cv::_InputArray const&, int)’未定义的引用
collect2: error: ld returned 1 exit status
make: *** [.build_release/examples/mnist/convert_mnist_data.bin] 错误 1
.build_release/lib/libcaffe.so:对‘cv::imread(cv::String const&, int)’未定义��.build_release/lib/libcaffe.so:对‘cv::imread(cv::String const&, int)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imdecode(cv::_InputArray const&, int)’未定义的引用
�collect2: error: ld returned 1 exit status
引用
.build_release/make: *** [.build_release/tools/upgrade_net_proto_text.bin] 错误 1
lib/libcaffe.so:对‘cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imdecode(cv::_InputArray const&, int)’未定义的引用
collect2: error: ld returned 1 exit status
make: *** [.build_release/tools/caffe.bin] 错误 1
.build_release/lib/libcaffe.so:对‘cv::imread(cv::String const&, int)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imdecode(cv::_InputArray const&, int)’未定义的引用
collect2: error: ld returned 1 exit status
make: *** [.build_release/tools/upgrade_net_proto_binary.bin] 错误 1
.build_release/lib/libcaffe.so:对‘cv::imread(cv::String const&, int)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)’未定义的引用
.build_release/lib/libcaffe.so:对‘cv::imdecode(cv::_InputArray const&, int)’未定义的引用

最开始在网上找了好久也没解决,后来经过自己的大胆尝试居然成功解决了,我的方法如下:

首先这个问题确实是opencv的问题,只需要把  Makefile.config里的    #USE_PKG_CONFIG := 这一行前面的#给去掉,然后在他下一行添加

LIBRARIES += glog gflags protobuf leveldb snappy \
        lmdb boost_system hdf5_hl hdf5 m \
        opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs

保存,然后再编译即可。如果还不可以,试一下把原来的编译内容用make clean清空,再重新编译。如果还不行,那只能靠诸位再继续大胆尝试了。

找了很久才找到,原鏈接:https://blog.csdn.net/yuweiyang123/article/details/53106638
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/chenjiyou363753068/article/details/85088907

智能推荐

Ruby之父松本行弘:编程是可以干一辈子的_株式会社 network 应用通信研究所-程序员宅基地

文章浏览阅读1.7k次。摘要:编程更需要的是知识、经验、判断力等等,这些都不会因为年龄的增长而退化。换句话说,编程是可以干一辈子的。这一点,和那些专业体育选手略有不同。  生平:  松本行弘(Yukihiro Matsumoto),1965年4月14日出生于日本鸟取县。1984年,就读于筑波大学第三学科信息学系。2年后休学,成为末日圣徒耶稣基督教会的宣讲师。大学复学后,加入中田育男教授的研究室。1990年大学_株式会社 network 应用通信研究所

(SpringMVC)RequestMapping 注解_reguestmapping-程序员宅基地

文章浏览阅读370次。文章目录一、使用说明二、使用示例一、使用说明源码:(1)作用:用于建立请求 URL 和处理请求方法之间的对应关系(2)出现位置:类上: 请求 URL 的第一级访问目录。此处不写的话,就相当于应用的根目录。 写的话需要以/开头。 它出现的目的是为了使我们的 URL 可以按照模块化管理方法上:请求 URL 的第二级访问目录。(3)属性:value:用于指定请求的 URL。 它和 path 属性的作用是一样的。method:用于指定请求的方式。params:用于指定限制请求参数的_reguestmapping

新系统环境设置——JDK、PLSQL、IDEA_windows11 plsql 设置oracle环境变量-程序员宅基地

文章浏览阅读2.3k次。JDK、PLSQL环境变量设置IDEA各种设置_windows11 plsql 设置oracle环境变量

16_java8的其他新特性_java 16 和 java8-程序员宅基地

文章浏览阅读170次。Java 8新特性简介新特性简介Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Java 8 是oracle公司于2014年3月发布,可以看成是自Java 5 以 来最具革命性的版本。Java 8为Java语言、编译器、类库、开发 工具与JVM带来了大量新特性。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-itrO2xSg-1600041602719)(/Users/haitao/Pictures/TyporaPic/16_java_java 16 和 java8

[Flink课程]---- 1.3 怎样在Flink社区做贡献?_flink jira-程序员宅基地

文章浏览阅读1.6k次。介绍Flink是第三代计算引擎,相比spark,它有许多优势,同时汲取了storm流式处理的优点。怎样贡献代码给社区1、问问题Apache Flink社区非常乐意帮助并回答您的问题。他们有一个用户邮件列表,并在[apache-flink]标签上观看Stack Overflow。2、提交Bug信息如果您遇到Flink问题并提交错误报告,请告诉他们。打开Flink的Jira,必..._flink jira

7、spss做probit回归和非线性回归_非线性回归模型有probit-程序员宅基地

文章浏览阅读5.5k次,点赞4次,收藏15次。Probit回归:Probit回归全称probability unit,翻译过来叫做概率单位法,蛮拗口的一个名字。这个回归主要用于研究半数效量用的。直白一点说,就是比方你拿一种药去药蟑螂,你想知道你用多少药能药死多少蟑螂,那你就可以用probit回归来估计这个数。Probit回归经常拿来和logistic回归作比较,通常对于二分类变量来说,这两个回归计算出来的概率是非常相似的。(虽然log_非线性回归模型有probit

随便推点

什么是UEFI启动?_uefi启动是什么意思-程序员宅基地

文章浏览阅读3k次,点赞8次,收藏35次。http://baijiahao.baidu.com/s?id=1596082869749554401&wfr=spider&for=pc其实,亲们可以把这个UEFI启动可以看作是Bios的升级版,功能更强大,使用更方便,不过安装用的启动盘也需要特别处理。下面小诺就给亲们分享一下UEFI和BIOS启动的区别,以及亲们使用中需要注意的一些问题哦。UEFI启动是一种新的主板引导项,..._uefi启动是什么意思

leetcode 104:二叉树的最大深度(python)_pyrhon104. 二叉树的最大深度-程序员宅基地

文章浏览阅读329次。腾讯精选练习(50 题)Day27 || leetcode 104:二叉树的最大深度(python)_pyrhon104. 二叉树的最大深度

机器学习算法代码-程序员宅基地

文章浏览阅读620次。K-Meansimport numpy as npfrom matplotlib import pyplot%matplotlib inlineclass K_Means(object): # k是分组数;tolerance‘中心点误差’;max_iter是迭代次数 def __init__(self, k=2, tolerance=0.0001, max_iter=300): self.k_ = k self.tolerance_ = tolera_机器学习算法代码

NW.js 打包网页成exe桌面应用_nwjs使用enigma virtual box打包成exe不需要那些文件-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏23次。NW.js中文网https://nwjs.org.cn/doc/index.html可以用来开发桌面应用的js框架有三种:1.NW.jsNW.js是Intel的工程师写的一个基于node.js和chromium的应用程序运行环境。项目地址是:https://github.com/rogerwang/node-webkit2.ElectronElectron是一款利用W..._nwjs使用enigma virtual box打包成exe不需要那些文件

下载jar包的网址_org.noear jar-程序员宅基地

文章浏览阅读776次。下载jar包_org.noear jar

文件上传漏洞实战getshell分析 形成 利用 修复_weaveroa_v9_upload_getshell漏洞-程序员宅基地

文章浏览阅读1k次,点赞7次,收藏4次。文件上传漏洞是指用户上传了一个可执行的脚本文件(php、jsp、xml、cer等文件),而WEB系统没有进行检测或逻辑做的不够安全。文件上传功能本身没有问题,问题在于上传后如何处理及解释文件。一般情况下,Web应用都会允许用户上传一些文件,如头像、附件等信息,如果Web应用没有对用户上传的文件进行有效的检查过滤,那么恶意用户就会上传一句话木马等Webshell,从而达到控制Web网站的目的。提示:以下是本篇文章正文内容,下面案例可供参考。webshell getshell_weaveroa_v9_upload_getshell漏洞