如何解决Ubuntu中的cmake和OpenCV 2.0出现问题
| 晚安,我正在一个项目中使用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?
解决方法
当您使用自定义的Find宏查找opencv(CMakeModules / FindOpenCV.cmake)时,实际上应检查该宏需要查找哪些库。看起来这个宏实际上在您的控制之下,我只需要向其处理中添加调试消息,以找出该宏在何时失败。如果宏使用对MARK_AS_ADVANCED的调用,则可以打印出一个好的策略,将所有传递到该宏的变量打印出来。所有变量的值都不能为空,false或XXX-NOTFOUND。
除此之外,向我们提供此find宏的代码将有助于调试。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。