vcpkg错误分析方法

最近在使用vcpkg时,经常会碰到CMake错误。 有些以前能编译通过的包, 过一段时间又不能编译错误了。 错误提示一般是CMake错误, 弄得很郁闷。

我采用以下步骤解决了问题:

  1. 分析错误
  2. 查看错误日志
  3. 查看cmake文件
  4. 手工处理错误

下面是我opencv编译错误解决过程:

1.  执行vcpkg命令

PS D:\Develop\GitOthers\vcpkg> ./vcpkg install opencv

2.  错误信息

CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:43 (message):    ......    See logs for more information:
      D:\Develop\GitOthers\vcpkg\buildtrees\opencv\config-x64-windows-rel-out.log
      D:\Develop\GitOthers\vcpkg\buildtrees\opencv\config-x64-windows-rel-err.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_configure_cmake.cmake:170 (vcpkg_execute_required_process)
  ports/opencv/portfile.cmake:36 (vcpkg_configure_cmake)
  scripts/ports.cmake:72 (include)

Error: Building package opencv:x64-windows failed with: BUILD_FAILED
Please ensure you‘re using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: opencv:x64-windows
  Vcpkg version: 0.0.81-fd9b73987bf215f1d10acf4207c3cc637a1bcf2c

Additionally, attach any relevant sections from the log files above.

3. 查看错误日志(XXX-err.log)

CMake Warning at 3rdparty/ippicv/downloader.cmake:56 (message):
  ICV: Local copy of ICV package has invalid MD5 hash:
  0d1682bf35ca5cd296a7cc795d30ecc8 (expected:
  04e81ce5d0e329c3fbc606ae32cad44d)
Call Stack (most recent call first):
  3rdparty/ippicv/downloader.cmake:110 (_icv_downloader)
  cmake/OpenCVFindIPP.cmake:243 (include)
  cmake/OpenCVFindLibsPerf.cmake:37 (include)
  CMakeLists.txt:564 (include)

CMake Error at 3rdparty/ippicv/downloader.cmake:73 (file):
  file DOWNLOAD HASH mismatch

    for file: [D:/Develop/GitOthers/vcpkg/buildtrees/opencv/src/opencv-3.2.0/3rdparty/ippicv/downloads/windows-04e81ce5d0e329c3fbc606ae32cad44d/ippicv_windows_20151201.zip]
      expected hash: [04e81ce5d0e329c3fbc606ae32cad44d]
        actual hash: [57ed63670f6763ece0d789f9cb52d952]
             status: [28;"Timeout was reached"]

Call Stack (most recent call first):
  3rdparty/ippicv/downloader.cmake:110 (_icv_downloader)
  cmake/OpenCVFindIPP.cmake:243 (include)
  cmake/OpenCVFindLibsPerf.cmake:37 (include)
  CMakeLists.txt:564 (include)

CMake Error at 3rdparty/ippicv/downloader.cmake:77 (message):
  ICV: Failed to download ICV package: ippicv_windows_20151201.zip.
  Status=28;"Timeout was reached"
Call Stack (most recent call first):
  3rdparty/ippicv/downloader.cmake:110 (_icv_downloader)
  cmake/OpenCVFindIPP.cmake:243 (include)
  cmake/OpenCVFindLibsPerf.cmake:37 (include)
  CMakeLists.txt:564 (include)

查看日志, 发现原来是有个文件下载不完整, 造成了后续操作无法完成。

4. 如何解决问题呢?

查看opencv-3.2.0\3rdparty\ippicv\downloader.cmake文件,找到相应的下载文件,手动下载 ippicv_windows_20151201.zip下载完成后,将文件复制到 D:/Develop/GitOthers/vcpkg/buildtrees/opencv/src/opencv-3.2.0/3rdparty/ippicv/downloads/windows-04e81ce5d0e329c3fbc606ae32cad44d/ippicv_windows_20151201.zip
然后再次执行vcpkg编译命令
时间: 2024-10-14 03:21:04

vcpkg错误分析方法的相关文章

Firefox SVG getBBox方法返回'NS_ERROR_FAILURE'错误分析

在SVG中,我们无法给Text元素设置Width和Height属性,因此无法直接获取Text元素的高和宽.如果想要给Text元素添加背景色,最简单的办法就是在Text元素的下面添加Rect,然后给Rect设置fill属性.如下面的代码: <rect id="dateRectObj_0" x="1133" y="605" rx="10" ry="10" width="120" hei

eclipse一直卡住,出现 “android sdk content loader 0%” 卡住的错误分析及解决方法

分析:这种问题之前没有遇到过,也不知道什么原因,直接去网上查询,打开www.stackoverflow.com,输入要查询问题的关键词,我们输入 “android sdk content loader 0%”,查询结果如下:      我们找到投票数最多的这个回答: 以下是我所找到的有效的解决方法:1.首先确保 eclipse 已经关闭.如果 eclipse 还处于打开状态,请从任务管理器的进程列表中杀死 eclipse .2.在 Windows 上可以通过 %USERPROFILE%/,在 L

转MySQL常见错误分析与解决方法总结

一.Can't connect to MySQL server on 'localhost' (10061)翻译:不能连接到 localhost 上的mysql分析:这说明“localhost”计算机是存在的,但在这台机器上却没提供MySQL服务.需要启动这台机器上的MySQL服务,如果机子负载太高没空相应请求也会产生这个错误.解决:既然没有启动那就去启动这台机子的mysql.如果启动不成功,多数是因为你的my.ini配置的有问题.重新配置其即可.如果觉得mysql负载异常,可以到mysql/b

MySQL常见错误分析与解决方法总结

来源: https://www.ttlsa.com/mysql/mysql-common-error-analysis-and-solution-methods/ 一.Can't connect to MySQL server on 'localhost' (10061)翻译:不能连接到 localhost 上的mysql分析:这说明"localhost"计算机是存在的,但在这台机器上却没提供MySQL服务.需要启动这台机器上的MySQL服务,如果机子负载太高没空相应请求也会产生这个错

R6010 -abort() has been called错误分析及其解决方法

近期使用vs2010编程出现下面问题.在网上收集了大家的意见之后,整理了一下 导致出现这种原因有: 1.非法指针訪问和内存泄漏 2.大家再查查吧.一定是指针出现故障了.设置的指针范围跟你执行的不正确 3.指针訪问内存越界出现故障. 4.是由于不支持中文. 5.内存不够分配 6.当时后来检查发现的问题应该是多线程訪问资源出的问题. 7.检查一下exe和dll是否混用的不同版本号的crt 解决方法: 第一:检查申请的空间没有释放 第二:检查堆栈空间是否已经被所有分配满,建议每次内存分配尽量不要太大,

Java native方法、JNI实例及常见错误分析

1.概述 今天在看java关于调用本机代码子程序来获得较快的执行时间,或者,你希望用一个专用的第三方的库,例如统计学包.然而,因为Java程序被编译为字节码,字节码有Java运行时系统解释(或动态编译),看起来在Java程序中调用本机代码子程序是不可能.幸运的是,这个结论是错误的.Java提供了native关键字,该关键字用来声明本机代码方法.一旦声明,这些方法可以在Java程序中被调用,就像调用其他Java方法一样. 2.native关键字用法 既然Java提供了native方法,那么如何实现

MySQL 常见错误分析与解决方法总结

一.Can't connect to MySQL server on 'localhost'(10061)? 翻译:不能连接到localhost 上的mysql?分析:这说明"localhost"计算机是存在的,但在这台机器上却没提供MySQL服务.?需要启动这台机器上的MySQL服务,如果机子负载太高没空相应请求也会产生这个错误.?解决:既然没有启动那就去启动这台机子的mysql.如果启动不成功,多数是因为你的my.ini配置的有问题.重新配置其即可.?如果觉得mysql负载异常,可

nginx File not found 错误分析与解决方法

使用php-fpm解析PHP,出错提示如下:"No input file specified","File not found",原因是php-fpm进程找不到SCRIPT_FILENAME配置的要执行的.php文件,php-fpm返回给nginx的默认404 错误提示. 比如,doucument_root下没有test.php,访问此文件时通过抓包可以看到返回的内容. HTTP/1.1 404 Not Found Date: Fri, 21 Dec 2012 08

Nginx http 500错误分析及解决方法

出现场景:   在用nginx做负载均衡服务器对系统做并发测试,并发量比较大时Nginx会报出Http 500错误   报错原因: 访问量大的时候,由于系统资源限制,而不能打开过多的文件 原因查找: 打开nginx错误日志(/usr/local/nginx/logs/error.log) 查看是否报too many open files错误 错误解决: 打开/etc/security/limits.conf 修改 limits.conf文件,加上下面两句命令 * soft nofile 6553