使用opencv staticlib静态库

来源:互联网 发布:k近邻算法代码 matlab 编辑:程序博客网 时间:2024/05/26 02:20

opencv提供的库文件目录下有三个路径binlibstaticlib,其中前两个库是在动态库使用时调用的,后面一个是使用静态库的形式调用,这样,在发布应用时就可以不额外添加opencv的库文件实现了

目的

调用opencv静态库staticlib实现应用脱离opencv配置

环境配置

  • win10 + vs2013
  • opencv249

参考

  • Opencv 2.4.6 +VS2010 MFC + StaticLib使用问题
  • VC 运行时库 /MD、/MDd 和 /MT、/MTd

配置过程

在vs2010以上版本中,可以使用属性管理器新建属性页来管理工程属性,这样以后在新建相同配置的工程时,只需要将“属性配置文件”导入到新的工程中即可。


库文件名挨个复制太麻烦? 试试我的自制小工具

文件名快速提取工具,可以匹配”d.lib”,方便快捷


Debug模式

  1. 新建win32控制台应用程序
  2. 新建属性页 opencv249_vc12_x86_static_debug
  3. 编辑属性页面
    • 【VC++目录】–【包含目录】 D:\opencv\opencv2.4.9\include
    • 【VC++目录】–【库目录】 D:\opencv\opencv2.4.9\x86\vc12\staticlib
  4. 添加依赖库名称【链接器】–【输入】–【附加依赖项】
    (1) 非opencv库(必须)

    vfw32.libcomctl32.lib

    (2) OPENCV库(可以选择需要的)

    IlmImfd.liblibjasperd.liblibjpegd.liblibpngd.liblibtiffd.libopencv_calib3d249d.libopencv_contrib249d.libopencv_core249d.libopencv_features2d249d.libopencv_flann249d.libopencv_gpu249d.libopencv_highgui249d.libopencv_imgproc249d.libopencv_legacy249d.libopencv_ml249d.libopencv_nonfree249d.libopencv_objdetect249d.libopencv_ocl249d.libopencv_photo249d.libopencv_stitching249d.libopencv_superres249d.libopencv_ts249d.libopencv_video249d.libopencv_videostab249d.libzlibd.lib
  5. 设置运行库【C/C++】–【代码生成】–【运行库】–“多线程调试/MTD”(具体每种的含义,参考链接2)
0 0