zoukankan      html  css  js  c++  java
  • VS如何设置OpenCV静态编译

     

    可以使用opencv提供的静态链接库也可以自己编译静态链接库.

    1 使用opencv提供的静态链接库,位置如下图.

    image

    首先设置VS配置.有如下几个配置

    1 工具->选项->项目和解决方案->VC++目录->包含目录.配置图中的OpenCV243那3项.

    image

    2工具->选项->项目和解决方案->VC++目录->库文件

    image

    3 项目属性->配置属性->链接器->输入->附加依赖项.把lib库全部加入.

    image

    加入完是这个样子

    clip_image008

    这里之所以要全部加如而没有用哪个再加入哪个是由于全加入比较方便.属于傻瓜配置.可以复制下面的.

    这是debug的

    IlmImfd.lib

    libjasperd.lib

    libjpegd.lib

    libpngd.lib

    libtiffd.lib

    opencv_calib3d243d.lib

    opencv_contrib243d.lib

    opencv_core243d.lib

    opencv_features2d243d.lib

    opencv_flann243d.lib

    opencv_gpu243d.lib

    opencv_highgui243d.lib

    opencv_imgproc243d.lib

    opencv_legacy243d.lib

    opencv_ml243d.lib

    opencv_nonfree243d.lib

    opencv_objdetect243d.lib

    opencv_photo243d.lib

    opencv_stitching243d.lib

    opencv_ts243d.lib

    opencv_video243d.lib

    opencv_videostab243d.lib

    zlibd.lib

    这是release的

    IlmImf.lib

    libjasper.lib

    libjpeg.lib

    libpng.lib

    libtiff.lib

    opencv_calib3d243.lib

    opencv_contrib243.lib

    opencv_core243.lib

    opencv_features2d243.lib

    opencv_flann243.lib

    opencv_gpu243.lib

    opencv_highgui243.lib

    opencv_imgproc243.lib

    opencv_legacy243.lib

    opencv_ml243.lib

    opencv_nonfree243.lib

    opencv_objdetect243.lib

    opencv_photo243.lib

    opencv_stitching243.lib

    opencv_ts243.lib

    opencv_video243.lib

    opencv_videostab243.lib

    zlib.lib

    Dbghelp.lib

    我在设置工程中遇到了下面几个问题

    问题1如下

    clip_image009

    解决方法: 项目属性->配置属性->常规->MFC的使用. 设置为 “使用标准Windows库”.

    这个是因为静态库这个设置应该和你的项目设置一致.

    image

    问题2.提示下面的warning

    clip_image012

    这个warning 我采用 ##pragma warning(disable : 4996) ,但是去不掉.不知道为什么.当然你不能debug进入opencv源码中. 所以后来我采用了下一种方法.

    问题3: 提示找不到一些库.如下图

    clip_image013

    解决方法: 增加代码 #pragma comment( lib, "vfw32.lib" ) 和 #pragma comment( lib, "comctl32.lib" )

    2 自己编译静态链接库.编译完是下图的样子.

    image

    image

    工具: cmake-gui.exe

    具体方法我参考了这个博文http://blog.163.com/yuyang_tech/blog/static/21605008320147271503664/.

    同样还有图.

    image

    要注意去掉BUILD_SHARED_LIBS.这样生成的才是静态库.

    工程设置只有下图一点不同,库文件路径变了.注意要增加3rdparty库这个路径.

    image

    注: 解决问题是在网上找了不少解决方法,没有方式感谢,就总结一篇博文把.好像右下角有推荐选项,你可以推荐一下.这是我在博客园的第二篇博客,大家支持支持吧.

  • 相关阅读:
    性能分析
    thymeleaf和spring的整合
    Java中二叉树的建立
    面试题
    (转)structs2的相关配置问题
    ==与equal()的区别
    java的基本类型和其包装类
    Ajax调用返回json数组,对象 (JSONArray.fromObject)
    (转)在JSP中调用JAVA类和使用JavaBean有什么区别?
    用log4j查看详细错误信息
  • 原文地址:https://www.cnblogs.com/guopengfei/p/4700989.html
Copyright © 2011-2022 走看看