Ubuntu16.04多版本opencv报错:对‘cvWaitKey‘未定义的引用/undefined reference to ‘cvWaitKey‘一种解决方案

1. 写在前面
两个师兄对实验室的一个程序进行了不同程度的优化,一个主要用opencv3,另一个主要用opencv2.我为了能够跑这两个程序,在自己电脑上装了两个版本的opencv(opencv2.4.13和opencv3.4.10),同时参考了多版本opencv切换的教程,结果就悲剧了…
教程写的很详细,我的问题就出现在"环境配置"这里,我按照教程修改了文件/etc/ld.so.conf.d/opencv.conf和文件/etc/bassh.bashrc,导致系统的环境系统环境发生变化,找不到opencv的函数等.
在这里插入图片描述

'cvWaitKey'未定义的引用
对'cvNamedWindow'未定义的引用
对'cvShowImage'未定义的引用

2. 将环境配置改回去
问了实验室师兄,说我是不是把环境变量给改了,我于是把修改的地方改回去.
2.1 改/etc/ld.so.conf.d/opencv.conf文件

sudo gedit /etc/ld.so.conf.d/opencv.conf
删除:/usr/local/lib或/usr/local/opencv/opencv3.2.0/lib等自己为了opencv多版本增加的语句,或者直接注释
保存并关闭文件
sudo ldconfig

2.2 改/etc/bash.bashrc文件

sudo gedit /etc/bash.bashrc
注释或删除自己因为安装opencv添加的语句,如:
	PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
	export PKG_CONFIG_PATH
保存并关闭文件
source /etc/bash.bashrc
[此时可能会进入root用户,只需再输一遍:source /etc/bash.bashrc即可]

在这里插入图片描述

最后更新一下配置:

sudo updatedb

** 实践验证**
先用catkin build编译一下程序,结果仍是报错,如下图
在这里插入图片描述
然后想着catkin_make_isolated --instal相较于catkin build来说不是很严格,于是就用catkin_make_isolated --install试试(试错的时间成本太高了,这个程序我都搞了很多天了)
结果编译成功了,也成功跑出了速腾官网的pacp包.
在这里插入图片描述
在这里插入图片描述

@meng 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值