vs2019中CMakeList.txt配置opencv-4.1.0

1.概念

dll文件:即动态库(Dynamic Link Library),又叫做动态链接库文件。

2.特点

  • 节约内存系统只需载入一次dll,不同的程序可以得到内存中形同的动态库副本。因此可以节约很多内存,同时使用动态库便于模块化更新程序。
  • 多样化许多程序并不是一个完整的可执行文件,它可以被分割成一些相对独立的动态链接库即dll文件。放置于系统中。当我们执行一个程序时,相应的dll就会被调用。
  • 代码仓库可以简单的把库文件看成一种代码仓库,他提供使用者一些可以直接拿来用的变量、函数或类。

3.配置opencv

打开vs2019,创建名称为:CMakeProject1的Cmake项目
vs2019中CMakeList.txt配置opencv-4.1.0_第1张图片

# CMakeList.txt: CMakeProject1 的 CMake 项目,在此处包括源代码并定义
# 项目特定的逻辑。
#
cmake_minimum_required (VERSION 3.8)

project ("CMakeProject1")
#指定要引用的dll的头文件所在路径,即为文件夹opencv2的路径,
#dll的头文件地址前半部分("D:\Tool\")需根据opencv安装的位置确定。
include_directories("D:/Tool/opencv/build/include")

#指定dll的lib所在路径
link_directories("D:/Tool/opencv/build/x64/vc15/lib")

# 将源代码添加到此项目的可执行文件。
add_executable (CMakeProject1 "CMakeProject1.cpp" "CMakeProject1.h")

#指定链接库的名字,即该dll
#opencv_410d.lib在D:\Tool\opencv\build\x64\vc15\lib目录下
target_link_libraries(CMakeProject1 opencv_world410d)
# TODO: 如有需要,请添加测试并安装目标。

然后将(opencv的安装目录)D:\Tool\opencv\build\x64\vc15\bin下的opencv_world410d.dll复制到(新建的Cmake项目目录)D:\Compute Science\code\CMakeProject1\out\build\x64-Debug

4.调试

// CMakeProject1.cpp: 定义应用程序的入口点。
//

#include "CMakeProject1.h"
#include "opencv2/opencv.hpp"

using namespace std;
using namespace cv;
int main()
{
	cout << "Hello CMake." << endl;
	Mat img = imread("C:/Users/Desktop/img.jpg");
	imshow("img", img); //显示原图
	waitKey();
	return 0;
}

运行结果:
vs2019中CMakeList.txt配置opencv-4.1.0_第2张图片

你可能感兴趣的:(cmake,opencv,dll)