首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Colcon找不到正确的opencv版本

Colcon找不到正确的opencv版本
EN

Stack Overflow用户
提问于 2020-06-24 09:50:58
回答 1查看 275关注 0票数 0

这是在运行ROS2 Dashing的Ubuntu18.04上。我从源代码构建了OpenCV,并做了ldconfig的事情。但colcon一直在尝试使用不同的版本。

错误是"missing: opencv_cudaarithm opencv_cudafilters":

整个错误消息:

代码语言:javascript
复制
robotos@jetson-agx:~/ros2_ws$ colcon build
Starting >>> opencv_demos
--- stderr: opencv_demos                         
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find OpenCV (missing: opencv_cudaarithm opencv_cudafilters)
  (found suitable version "4.1.1", minimum required is "4")
Call Stack (most recent call first):
  /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/lib/aarch64-linux-gnu/cmake/opencv4/OpenCVConfig.cmake:328 (find_package_handle_standard_args)
  CMakeLists.txt:29 (find_package)

然而,它们就在那里:

代码语言:javascript
复制
robotos@jetson-agx:~/ros2_ws$ ls /usr/local/lib
a.out                              libopencv_highgui.so.4.2.0
cmake                              libopencv_imgcodecs.so
...
...
libopencv_core.so                  libopencv_optflow.so
libopencv_core.so.4.2              libopencv_optflow.so.4.2
libopencv_core.so.4.2.0            libopencv_optflow.so.4.2.0
libopencv_cudaarithm.so            libopencv_phase_unwrapping.so
libopencv_cudaarithm.so.4.2        libopencv_phase_unwrapping.so.4.2
libopencv_cudaarithm.so.4.2.0      libopencv_phase_unwrapping.so.4.2.0
...
...
libopencv_cudafilters.so           libopencv_quality.so
libopencv_cudafilters.so.4.2       libopencv_quality.so.4.2
libopencv_cudafilters.so.4.2.0     libopencv_quality.so.4.2.0

4.1.1是我通过apt安装的版本。4.2是从源代码构建的。

有趣的是,如果我只是运行cmake而不是colcon,它将运行到完成,所以我猜只有CMake可以找到它。虽然我不确定如何处理生成的文件,但我想让colcon正常工作。

另一台机器(也是带有破折号的18.04 )可以很容易地找到cudaarithm和cudafilters模块。

EN

回答 1

Stack Overflow用户

发布于 2020-06-25 00:02:19

多亏了Tsyvarev修复了。以下是他们的建议,转化为基于colcon的观点:

在项目的CMakeList.txt文件中,添加以下内容

代码语言:javascript
复制
set(OpenCV_DIR /usr/local/lib/cmake/opencv)

理想情况下,在"find_package(OpenCV...“线路。

这将强制colcon使用正确的OpenCV安装,而不是之前查找的任何位置。不清楚为什么一些系统可以解决这个问题,而另一些系统则需要明确告知。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62546373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档