• OpenCV 2.3.0 编译错误之 file INSTALL cannot find opencv_ffmpeg230d.dll(无法找到opencv_ffmpeg230d.dll)


    编译OpenCV2.3.0时,用VS2008打开D:\Program Files\OpenCV2.0\vc2008目录下生成OpenCV.sln

    在Debug下,选择Solution Explorer里的 Solution OpenCV,点右键,运行"Rebuild Solution",编译无误。再选择INSTALL项目,运行"Build",报错,“CMake Error at cmake_install.cmake:119 (FILE): file INSTALL cannot find "D:/Program  Files/OpenCV-2.3.0/vs2008/bin/Debug/opencv_ffmpeg230d.dll.”

    解决方法是找到文件search008/cmake_install.cmake, 将其中的与opencv_ffmpeg230d.dll有关的语句注释掉,如下:


    #IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "main")
    #  FILE(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE FILE FILES "D:/Program 
    #Files/OpenCV-2.3.0/vs2008/bin/Debug/opencv_ffmpeg230d.dll")
    #ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "main")


    #IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "main")
    #  FILE(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE FILE FILES "D:/Program 
    #Files/OpenCV-2.3.0/vs2008/lib/Debug/opencv_ffmpeg230d.lib")
    #ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "main")

    之所以可以把这两行注释掉是因为项目中不存在opencv_ffmpeg230d对应的源文件,因此不会生成opencv_ffmpeg230d.dll 和lib文件,从官方给的superpack文件中也可以看出,没有opencv_ffmpeg230d.dll文件及lib文件。

    后来发现2.3版本中的ffmpeg被放到了3rdparty文件夹中,这个与2.2版本的不同。2.3中的ffmpeg需要使用mingw下的gcc编译,而且有64位的版本,从ffmpeg文件夹中的make.bat可以看出:编译只是生成了opencv_ffmpeg.dll,并没有lib及其版本号,因此这是个瑕疵。

    参考文章:http://www.360doc.com/content/11/0802/22/4539198_137542206.shtml#


    trackback: http://blog.csdn.net/hangyuanbiyesheng/article/details/6659158

  • 相关阅读:
    velocity masterplate 第一个程序的运行
    java 关于集合框架
    java 关于>>>位运算
    QCA wifi驱动强制为HT40
    Linux内核调试方法的总结(转载)
    移动端利用webkitbox水平垂直居中
    Under Construction to Beta
    网站自动备份
    writely 邀请?
    Google Carlendar coming ?
  • 原文地址:https://www.cnblogs.com/JohnShao/p/2165954.html
Copyright © 2020-2023  润新知