删除所有安装的OpenCV库

我正在运行Kubuntu 11.10(带有KDE 4.8)

在阅读所有这些之前:

我只想从我的系统中删除OpenCV的所有痕迹,所以我可以重新开始。

整个故事

我很早以前就从https://launchpad.net/~gijzelaar/+archive/opencv2首先安装了python-opencv和libopencv(2.1我认为)。 我当时只尝试过python-opencv,完美的工作(我没有尝试使用OpenCV使用C ++代码)

然后我最近试图从源代码安装OpenCV 2.3.1,它已经安装,但编译我自己的C代码(使用OpenCV),它给了我关于libgtk没有安装的错误,也打破了我的python opencv代码,

所以我安装了libgtk2-dev库,并重新编译并安装了OpenCV 2.3.1。

错误仍然发生,所以我删除了从我正在运行cmake,make等unarred OpenCV目录。 我没有卸载(我现在意识到是我的错误)

而是从这里安装了Ubuntu的opencv 2.3包(所有的依赖): https : //launchpad.net/~gijzelaar/+archive/opencv2.3

现在的问题是,当我编译包含OpenCV的C ++代码时,仍然出现同样的错误,并且错误仍然指向我的(已删除的)OpenCV源文件夹:

OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /home/anant/opencv/OpenCV-2.3.1/modules/highgui/src/window.cpp, line 275 terminate called after throwing an instance of 'cv::Exception' what(): /home/anant/opencv/OpenCV-2.3.1/modules/highgui/src/window.cpp:275: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvNamedWindow 

正如你所看到的,错误仍然指向我编译和安装OpenCV的目录

有没有办法完全删除我的编译版本的OpenCV的所有痕迹,只是保持从Ubuntu包的文件? 正如我前面提到的,我没有“卸载”,也(愚蠢地)删除了安装清单

编辑:我再次运行包pipe理器,发现并不是所有来自ppa的opencv包已经正确安装。 所以我做了一个sudo apt-get再次安装opencv,现在我得到这个错误:

 Unpacking libopencv2.3 (from .../libopencv2.3_2.3.1-3_amd64.deb) ... dpkg: error processing /var/cache/apt/archives/libopencv2.3_2.3.1-3_amd64.deb (--unpack): trying to overwrite '/usr/lib/libopencv_video.so.2.3.1', which is also in package libopencv-video2.3 2.3.1-4ppa1 dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) Unpacking opencv (from .../opencv_2.3.1-3_amd64.deb) ... dpkg: error processing /var/cache/apt/archives/opencv_2.3.1-3_amd64.deb (--unpack): trying to overwrite '/usr/bin/opencv_haartraining', which is also in package libopencv-core-dev 2.3.1-4ppa1 dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) Errors were encountered while processing: /var/cache/apt/archives/libopencv2.3_2.3.1-3_amd64.deb /var/cache/apt/archives/opencv_2.3.1-3_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) 

我只是想从我的系统中删除OpenCV的所有痕迹,所以我可以重新开始

默认情况下,从源代码构建OpenCV时,它会将其输出放在/usr/local/lib/usr/local/bin 。 虽然从你的错误消息来看,它看起来像是把库放在/usr/lib和二进制文件放在/usr/bin ,所以你也可以在那里检查。

您也可以使用Linux 查找命令。 所以,要找到所有的OpenCV库,你可以做下面的事情(这可能需要一段时间):

 $> sudo find / -name "*opencv*" -exec rm -i {} \; 

上面的命令将找到名称中包含opencv的任何文件,并将提示您将其删除。 与往常一样,手动删除东西时要小心!

另一个选择可能是再次手动编译OpenCV(与之前完全一样), make install以创建安装清单,然后尝试make uninstall以查看它是否自行清理。

希望有所帮助! 🙂

你可以做一个sudo make uninstall干净的卸载

为了删除没有“交互”的所有文件和文件夹,请使用以下命令:

 sudo find / -name "*opencv*" -exec rm -rf {} \; 

注意:不建议运行“递归”和“强制”删除。

如果在源代码上使用sudo make install命令安装opencv,则转到build文件夹并使用sudo make uninstall ,它应该卸载opencv