gpt4 book ai didi

opencv - 构建并安装 OpenCV。默认安装路径与头文件预期的不同

转载 作者:太空宇宙 更新时间:2023-11-03 21:47:30 25 4
gpt4 key购买 nike

刚刚构建并安装了 OpenCV。我现在正试图包含它的标题,但遇到了麻烦。

在没有任何选项的情况下调用 cmake 会产生一个配置
CMAKE_INSTALL_PREFIX/usr/local

但是,主要的 OpenCV header 具有以下行

[vorac@laptop build]$ cat /usr/local/include/opencv2/opencv.hpp  
#include "opencv2/core.hpp"

查找到的文件在父目录下,不能包含:

[vorac@laptop build]$ ls /usr/local/include | grep core.hpp
core.hpp
motion_core.hpp

安装出了什么问题?

使用的软件:
Fedora18
ccmake版本2.8.10.2
OpenCV 提交 416fb50594003dba822a59fbc77b2d5b4e99f1a5

最佳答案

我更愿意将此作为评论,因为它比其他任何东西都更多的是猜测,但它太大了而且它可能对您有帮助。所以,看起来这可能不是您做过的事情,更像是 OpenCV cmake 代码中的错误。

commit #5170620看起来对“cmake/OpenCVModule.cmake”的更改影响了包含文件的安装。如果新的正则表达式失败,${CMAKE_MATCH_1} 的值可能为空,这意味着以下行会将模块的 header 安装到 ${OPENCV_INCLUDE_INSTALL_PATH}(这是/usr/local/include 默认)。

我注意到旧的正则表达式 "^(opencv2/.*)/[^/]+.h(..)?$" 后面有一个 / (opencv2/.*) 而新的没有。

我建议更改有问题的行以包括可能丢失的 /:

if(hdr2 MATCHES "^(opencv2/.*)/[^/]+.h(..)?$" AND NOT hdr2 MATCHES "opencv2/${the_module}/private.*") 

或将整行恢复为以前的版本:

if(hdr2 MATCHES "^(opencv2/.*)/[^/]+.h(..)?$")

之后,重新运行 CMake 并再次安装 OpenCV。

关于opencv - 构建并安装 OpenCV。默认安装路径与头文件预期的不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16262008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com