【问题标题】:Problem with cmake and OpenCV 2.0 in UbuntuUbuntu 中 cmake 和 OpenCV 2.0 的问题
【发布时间】:2011-09-01 10:11:14
【问题描述】:

晚安,我在一个项目中工作,我们在 Ubuntu 10.04 中使用 Cmake 和 OpenCV 2.0,团队中的每个人(我们是一个微型鼠标竞赛团队)都可以编译代码,但我不能。 这是 Cmake 对我说的:

tiago@tiago-laptop:~/bioloid/build$ cmake ..
-- Checking GNUCXX version 3/4 to determine  OpenCV /opt/net/ path
CMake Error at CMakeModules/FindOpenCV.cmake:348 (MESSAGE):
OpenCV required but some headers or libs not found.  Please specify it's
location with OpenCV_ROOT_DIR env.  variable.
Call Stack (most recent call first):
CMakeLists.txt:45 (FIND_PACKAGE)
-- Configuring incomplete, errors occurred!

如果我尝试像这样导出变量:

export OpenCV_ROOT_DIR=/usr/local/lib

一直报同样的错误,这是 pkg-config --cflags --libs opencv 的输出:

-I/usr/local/include/opencv -I/usr/local/include  -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann  

团队中没有人知道该怎么做,我已经删除并重新安装了opencv,这是否有可能是因为我的计算机中也安装了opencv 2.2?

【问题讨论】:

  • 如果pkg-config 工具报告/usr/local/include/opencv,你为什么要尝试/usr/local/lib
  • 您可能已经这样做了,但我只是想确保您在再次运行 cmake 之前删除了 CMakeCache.txt 文件。
  • 我也已经尝试过 /usr/local/include/opencv,甚至从 /usr/ 到特定文件的所有组合,但它一直说相同,但感谢评论。
  • 您是否尝试过在不使用 cmake 的情况下使用 opencv 编译(和链接)基本测试程序?这行得通吗?
  • 是的,我可以用opencv2.0和2.2编译程序。也许问题是opencv和opencv 2.2也在/usr/local/include中,一个在/opencv,另一个在/opencv。也许最好的解决方案是全新安装 linux。

标签: c++ c opencv cmake ubuntu-10.04


【解决方案1】:

当您使用自定义 Find 宏来查找 opencv (CMakeModules/FindOpenCV.cmake) 时,您实际上应该检查该宏需要查找哪些库。因为看起来这个宏实际上是在你的控制之下,所以我只需将调试消息添加到它的处理中,以找出它在哪个点失败。如果宏使用对 MARK_AS_ADVANCED 的调用,则可以打印出所有传递给该宏的变量。所有变量的值都必须不为空、false 或 XXX-NOTFOUND。

除此之外,将这个查找宏的代码提供给我们将有助于调试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    • 2013-04-22
    • 1970-01-01
    相关资源
    最近更新 更多