在Ubuntu上安装OpenCV-2.4.3时出错

4
当我在Ubuntu上尝试对OpenCv-2.4.3进行cmake时,我收到了以下错误信息:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: CUDA_nvcuvid_LIBRARY (ADVANCED)
然后,我在CMakeLists.txt中禁用了“with_cuda”选项。之后,我收到了以下警告信息:
The source directory is the same as binary directory. "make clean" may damage the source tree 在我的构建文件夹中没有“makefile”,因此我无法安装OpenCV-2.4.3。

请问您能否指定您的系统? - Barney Szabolcs
我使用Ubuntu和“Eclipse Indigo”。 - Pekaziz
3个回答

10

我刚刚修复了这个问题。操作系统为Linux Mint 13 / 64位,CUDA版本为5.0。在Ubuntu上也应该可以使用。

问题出在需要在 /usr/lib/ 中创建一个指向位于 /usr/lib/nvidia-current/libnvcuvid.so 的链接。

请在终端中执行以下命令:

su -c 'ln -s /usr/lib/nvidia-current/libnvcuvid.so /usr/lib/libnvcuvid.so && ln -s /usr/lib/nvidia-current/libnvcuvid.so.1 /usr/lib/libnvcuvid.so.1'
生成构建文件时没有错误。另外,我想提醒您不要使用apt-get安装OpenCV,因为软件源中包含的库版本较旧。

在我的系统(Ubuntu 12.10)中,/usr/lib/libnvcuvid.so 已经存在,所以我只需要“sudo ln -s /usr/lib/nvidia-current/libnvcuvid.so.1 /usr/lib/libnvcuvid.so.1”。 - Tal Darom

3

你在哪里执行了 make clean ?

如果你按照文档的正确步骤进行,就会发现建议创建一个文件夹来存储所有即将编译的内容。

通常,你可以通过执行以下命令来实现:

mkdir build

您应该可以轻松地按照此指南逐步操作,不会遇到任何问题。

正如您所看到的,cmake命令是:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON ..

结尾处的两个点非常重要,因为它意味着您应该在想要构建所有内容的目录中执行命令。

如果您直接在源目录中运行cmake,则可能需要解压缩软件包并重新开始;)。

您更改CUDA变量是正确的,特别是如果您没有NVidia图形卡。

您指示的最后一条消息是警告而不是错误。您可以按照我之前的说法解决它。

如果您只想使用OpenCV而不是为其开发,则可以像Barnabas所说的那样直接使用软件包管理器。

在这种情况下,请遵循他的链接


可能是因为人们认为它超出了范围……但实际上并不是。抱歉啊,我在回答中明确提到了你的名字。我不喜欢这种贬值的事情,它会让很多奇怪的人有机会进行恶意操作。 - jlengrand
是的,我看到了,谢谢你提及我,+1。是的,也许点踩有点早了。 - Barney Szabolcs

0

我认为这可能是在Ubuntu上安装OpenCV的更简单更快的方法: 使用apt-get安装OpenCV
(您不必自己编译它。)


1
我不理解为什么会被踩。他所提供的是一个有效的解决方案。 - jlengrand
它避免了问题,但并不是解决方案。 - CrackerJack9

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接