ubuntu18.04配置opencv2.4.13 时报错

本文详细记录了解决在Ubuntu18.04上配置OpenCV2.4.13时遇到的版本不匹配警告的过程。通过分析CMake错误信息,定位到${OPENCV_VCSVERSION}

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ubuntu18.04配置opencv2.4.13 时报错  ,错误信息是:CMake Warning at cmake/OpenCVPackaging.cmake:23 (message): CPACK_PACKAGE_VERSION does not match version provided by version.hpp

根据报错信息“”cmake/OpenCVPackaging.cmake:23“”

错误现场信息是:

  if (NOT "${OPENCV_VCSVERSION}" MATCHES "^${OPENCV_VERSION}.*")
    message(WARNING "CPACK_PACKAGE_VERSION does not match version provided by version.hpp header!")
  endif()

然后去找${OPENCV_VCSVERSION}  , ${OPENCV_VERSION} 这2个参数信息是从哪里来

最后在CMakeList.txt文件中找到如下信息

status("General configuration for OpenCV ${OPENCV_VERSION} =====================================")
if(OPENCV_VCSVERSION)
  status("  Version control:" ${OPENCV_VCSVERSION})
endif()

正好是状态输出中有看到,如下

General configuration for OpenCV 2.4.13 =====================================

Version control: unknown


也就是对应了${OPENCV_VERSION} = 2.4.13  ,  ${OPENCV_VCSVERSION}) = unknown


继续寻找${OPENCV_VCSVERSION}) 这个参数是在哪里赋值的

找找找,找到了,在这里

find_host_program(GIT_EXECUTABLE NAMES ${git_names} PATH_SUFFIXES Git/cmd Git/bin DOC "git command line client")
mark_as_advanced(GIT_EXECUTABLE)

if(GIT_EXECUTABLE)
  execute_process(COMMAND ${GIT_EXECUTABLE} describe --tags --always --dirty --match "2.[0-9].[0-9]*"
    WORKING_DIRECTORY "${OpenCV_SOURCE_DIR}"
    OUTPUT_VARIABLE OPENCV_VCSVERSION
    RESULT_VARIABLE GIT_RESULT
    ERROR_QUIET
    OUTPUT_STRIP_TRAILING_WHITESPACE
  )
  if(NOT GIT_RESULT EQUAL 0)
    set(OPENCV_VCSVERSION "unknown")
  endif()
else()
  # We don't have git:
  set(OPENCV_VCSVERSION "unknown")
endif()

找到CMakeList.txt文件中上述位置,将后面两个unknown改成2.4.13版本号,重新编译就OK了

  if(NOT GIT_RESULT EQUAL 0)
    set(OPENCV_VCSVERSION "2.4.13")
  endif()
else()
  # We don't have git:
  set(OPENCV_VCSVERSION "2.4.13")

endif()
 

<think>嗯,用户想了解在Ubuntu 18.04配置OpenCV 4.2的步骤。首先,我得确认自己对这个流程熟悉,可能需要回忆一下安装依赖项、下载源码、编译安装这些常规步骤。不过,用户可能对Linux系统不太熟悉,所以需要详细但清晰的说明。 首先,系统更新和依赖安装是基础。需要列出所有必要的依赖包,比如构建工具、图像和视频库等。这里要确保依赖项全面,否则编译可能会出错。比如,cmake、g++这些肯定是必须的,还有libgtk2.0-dev、libavcodec-dev之类的多媒体库。 接下来,下载OpenCV 4.2的源代码,可能需要用wget或者git。不过用户指定了4.2版本,所以最好直接提供下载链接,或者用git checkout切换到对应版本。这里要检查链接是否仍然有效,或者是否需要从GitHub的仓库获取。 然后,创建构建目录,运行cmake配置。这候需要注意配置选项是否正确,比如是否启用CUDA,或者调整安装路径。用户可能不需要高级选项,所以保持默认配置可能更安全。但如果有常见的配置需求,比如Python支持,可能需要额外说明。 编译阶段,使用make -j4或者更多线程来加快速度,但也要提醒用户根据自己CPU的核心数调整。编译间可能较长,用户需要耐心等待,这里可能需要提前告知,避免用户以为卡住了。 安装完成后,配置环境变量,比如更新ld.so.conf或者设置PKG_CONFIG_PATH。这部分容易出错,用户可能会忽略,导致编译其他程序找不到OpenCV库。需要详细说明如何编辑配置文件,并运行ldconfig。 最后,验证安装是否成功。提供一个简单的测试程序,比如用C++读取图片或者显示版本号。同,Python用户可能需要验证cv2模块是否导入正常。这里需要确保用户知道如何编写和编译测试代码,或者运行Python命令。 可能需要注意的地方:权限问题,比如是否需要sudo执行某些命令;依赖项是否全部安装,避免编译错误;版本兼容性问题,特别是Ubuntu 18.04的默认软件包版本是否与OpenCV 4.2匹配。此外,用户可能遇到环境变量未正确设置的问题,导致找不到库文件,需要强调这部分步骤的重要性。 还要考虑用户可能的需求,比如是否需要同安装opencv_contrib模块,或者是否需要特定模块支持。如果用户的问题中没有提到这些,可能不需要展开,但可以简要提及作为可选步骤。 总之,步骤需要分点清晰,命令准确,避免遗漏关键步骤,同解释每个步骤的作用,帮助用户理解而不仅仅是复制命令。这样用户在遇到问题,也能根据步骤排查原因。</think>以下是在Ubuntu 18.04配置OpenCV 4.2的详细步骤: --- ### 一、系统更新与依赖安装 ```bash sudo apt update && sudo apt upgrade -y sudo apt install -y build-essential cmake git pkg-config libgtk2.0-dev \ libavcodec-dev libavformat-dev libswscale-dev libtiff5-dev \ libjpeg-dev libpng-dev libv4l-dev libxvidcore-dev libx264-dev \ libatlas-base-dev gfortran python3-dev python3-numpy ``` --- ### 二、获取OpenCV源码 ```bash mkdir ~/opencv_build && cd ~/opencv_build git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git cd opencv git checkout 4.2.0 # 切换到4.2版本 cd ../opencv_contrib git checkout 4.2.0 ``` --- ### 三、编译安装 1. **创建构建目录** ```bash cd ~/opencv_build/opencv mkdir build && cd build ``` 2. **CMake配置** ```bash cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \ -D WITH_CUDA=OFF \ # 禁用CUDA以简化安装 -D ENABLE_NEON=ON \ -D ENABLE_VFPV3=ON \ -D BUILD_EXAMPLES=OFF \ -D BUILD_TESTS=OFF \ -D BUILD_PERF_TESTS=OFF .. ``` 3. **编译与安装** ```bash make -j4 # 根据CPU核心数调整,如-j8 sudo make install sudo ldconfig # 更新动态链接库 ``` --- ### 四、环境验证 1. **C++验证** 创建 `test.cpp`: ```cpp #include <opencv2/opencv.hpp> int main() { std::cout << "OpenCV Version: " << CV_VERSION << std::endl; return 0; } ``` 编译运行: ```bash g++ test.cpp -o test `pkg-config --cflags --libs opencv4` ./test ``` 2. **Python验证** ```bash python3 -c "import cv2; print(cv2.__version__)" ``` --- ### 五、常见问题解决 1. **依赖缺失错误** 根据编译错误提示安装缺失的包,例如: ```bash sudo apt install libgtk-3-dev ``` 2. **版本冲突** 如果已安装其他版本OpenCV,建议通过`/usr/local/lib/cmake/opencv4`路径指定版本。 --- ### 六、附加说明 - 如果需要CUDA支持,需提前安装NVIDIA驱动和CUDA工具包 - 完整编译需约2-4GB磁盘空间,耗约30-60分钟(取决于硬件性能) 按此流程完成后,即可在Ubuntu 18.04上使用OpenCV 4.2进行开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值