【问题标题】:Unable to build OpenCV from source无法从源代码构建 OpenCV
【发布时间】:2015-10-28 01:34:27
【问题描述】:

我尝试按照these instructions 从源代码构建 OpenCV,但始终失败率约为 17%。我创建了一个临时构建目录,运行cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. 后跟make 时弹出以下错误。

我尝试在一个干净的构建目录中构建它,以 sudo 运行它,并删除 CMakeCache.txt 文件(有类似错误的人说它有帮助)。

[ 17%] Built target opencv_hal_pch_dephelp
[ 17%] Built target pch_Generate_opencv_hal
[ 17%] Built target opencv_hal
[ 17%] Built target opencv_ts_pch_dephelp
[ 17%] Built target pch_Generate_opencv_ts
[ 17%] Built target opencv_core_pch_dephelp
[ 17%] Built target pch_Generate_opencv_core
[ 17%] Built target opencv_core
[ 17%] Built target opencv_imgproc_pch_dephelp
[ 17%] Built target pch_Generate_opencv_imgproc
[ 17%] Built target opencv_imgproc
[ 17%] Built target opencv_imgcodecs_pch_dephelp
[ 17%] Built target pch_Generate_opencv_imgcodecs
[ 17%] Built target opencv_imgcodecs
[ 17%] Built target opencv_videoio_pch_dephelp
[ 17%] Built target pch_Generate_opencv_videoio
[ 17%] Linking CXX shared library ../../lib/libopencv_videoio.so
modules/videoio/CMakeFiles/opencv_videoio.dir/build.make:285: recipe for target 'lib/libopencv_videoio.so.3.0.0' failed
CMakeFiles/Makefile2:4401: recipe for target 'modules/videoio/CMakeFiles/opencv_videoio.dir/all' failed
Makefile:160: recipe for target 'all' failed

【问题讨论】:

  • 您基本上从不需要以 root 身份构建软件,而且您不应该这样做。有没有办法让 cmake 在构建过程中更详细地说明它在做什么?那里没有关于可能失败的信息(除非某处有日志文件)。
  • Sudo 仅用于 make install,用于 make 普通用户。配置是否完整或缺少依赖项?使用 make VERBOSE=1 可以提供更多详细信息。
  • 是的,尝试以 root 身份运行所有这些只是一种绝望的行为这是详细的输出gist.github.com/AhmedSamara/be794682cbce29d0cd70
  • 你找到答案了吗?
  • 在尝试安装 opencv 两天后,我想知道“自己动手”是否更容易。即使在像 ubuntu 这样的主要发行版的 lts 版本上,为什么安装会因为一百万个不同的原因而如此困难。对于我的用例,我想还有很多其他用例,我们只需要一小部分功能,而无关的部分无法构建。这个美妙的库不应该让安装如此痛苦。如果安装如此困难,我们为什么要对其中包含的算法充满信心?好的,排气完毕。

标签: c++ c opencv cmake makefile


【解决方案1】:

这是gcc-6.1的一个bug,把你的gcc降级到gcc-5.3吧。

sudo apt-get install gcc-5.3 g++-5.3
rm /usr/bin/gcc
ln -s /usr/bin/gcc-5 /usr/bin/gcc
rm /usr/bin/g++
ln -s /usr/bin/g++-5 /usr/bin/g++

现在,您可以再次使用 cmake。

【讨论】:

  • 如果是gcc6.1的已知bug,能否链接到相应的bug-tracker入口?
猜你喜欢
  • 1970-01-01
  • 2020-04-01
  • 2014-01-22
  • 2020-08-11
  • 2015-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多