zoukankan      html  css  js  c++  java
  • OpenCV zlibd1.dll找不到

    同事编译了OpenCV3.4.9, cmake-gui中勾选了opencv world,也就是最终编出的库只有一个opencv_world.dll。debug模式下编译的,并且构建了INSTALL target(也就是执行了安装)。

    然后添加了对应的bin目录到PATH环境变量。

    使用opencv的程序demo,也是基于cmake构建的,也是debug模式。运行直接提示zlibd1.dll找不到。

    解决办法:到OpenCV的编译目录下,开启git-bash, find . -name 'zlib1.dll'找到它,然后丢到刚才添加到PATH的新编译安装的opencv的bin目录。

    吐槽:这个问题应该是只有debug模式下才出现,release模式下没有。opencv的官方cmake没有把这个dll拷贝到bin目录,23333.

    ////////////////////
    update@2020-04-16 00:29:13
    OpenCV 4.3.0,源码编译,非world单独库。编译安装后,应用程序使用此版本opencv,发现debug模式报“缺少zlib1d.dll”,release模式报“缺少zlib1.dll”。
    比较异常的一点:每次生成的zlib1.dll的时间都是固定的。后来发现它是vcpkg路径下拷贝来的,例如:

    D:/work/vcpkg/buildtrees/zlib/x86-windows-dbg/zlibd1.dll

    比较好奇的是,vcpkg并不在系统PATH环境变量中,但为何编译imgcodec模块时,会找到vcpkg里的zlib1.dll,而不是opencv/3rdparty里的zlib静态库?要知道,cmake编译选项在Win下,默认是BUILD_ZLIB=ON的,并且我也没有指定它为OFF的。

    vcpkg略坑,扔掉吧

  • 相关阅读:
    JSP application用法
    JSP到底内置了几大对象?
    ConcurrentHashMap之实现细节 5
    假如我是JAVA开发人员
    jBPM
    ServletContext与ServletConfig分析
    oracle建立索引原则
    70个新鲜实用的JavaScript和Ajax技术(上)
    ConcurrentHashMap之实现细节
    ConcurrentHashMap之实现细节3
  • 原文地址:https://www.cnblogs.com/zjutzz/p/12121769.html
Copyright © 2011-2022 走看看