在QT及VS运行包含opencv的cmakelists实例

本文分享如何利用QT和Visual Studio运行cmake组织管理的程序,也就是运行cmakelists.txt。

main和cmakelists内容

main和cmakelists文件路径如下:

在QT及VS运行包含opencv的cmakelists实例_第1张图片

 

main.cpp

#include
#include
#include 
using namespace cv;

void ShowImage(String str) {
    Mat image = imread(str);

    imshow("test_opencv", image);
    waitKey(0);
}

int main() {
    String str = "D:/a-videos/1.bmp";//替换成自己的图片路径
    
     std::cout << str << std::endl;//向控制台输出信息
    
    ShowImage(str);
   
   std::cout << "Hello, world" << std::endl;

    return 0;
}

cmakelists.txt

cmake_minimum_required(VERSION 3.12)
project(demo)

set(CMAKE_CXX_STANDARD 11)

#32位opencv--mingw
#set(OpenCV_DIR C:/OpenCV4_4_32/x64/mingw/lib)

#64位opencv--MSVC
set(OpenCV_DIR D:/opencv-vc14-vc15/opencv/build/x64/vc15/lib)

find_package(OpenCV REQUIRED)
if(opencv_found)
    message(status "opencv found----")
endif()

include_directories(${OpenCV_INCLUDE_DIRS})

set(CMAKE_CXX_STANDARD 11)

add_executable(demo main.cpp)

target_link_libraries(demo ${OpenCV_LIBS})

QT运行cmakeLists.txt

cmakeLists中设置opencv的路径,注意这个路径必须包含OpenCVConfig.cmake,OpenCVConfig-version.cmake,OpenCVModules.cmake三个文件,否则是无效的,例子使用的是mingw版本的opencv:

#32位opencv--mingw
set(OpenCV_DIR C:/OpenCV4_4_32/x64/mingw/lib)

打开qt creator,文件->打开项目或文件,选择cmakelists.txt文件,配置时选了Mingw在QT及VS运行包含opencv的cmakelists实例_第2张图片

点击运行,可以看到显示图片 

在QT及VS运行包含opencv的cmakelists实例_第3张图片

此步骤可能会出现找不到opencv的头文件及库,需要根据提示配置好opencv的库和头文件,程序头文件应放置在 OpenCV_DIR的根目录中也就是C:/OpenCV4_4_32:

在QT及VS运行包含opencv的cmakelists实例_第4张图片

VS运行cmakelists.txt

更改cmakelists.txt,只用更改Opencv_dir即可,注意这个路径必须包含OpenCVConfig.cmake,OpenCVConfig-version.cmake,OpenCVModules.cmake三个文件,否则无效:

#64位opencv--MSVC
set(OpenCV_DIR D:/opencv-vc14-vc15/opencv/build/x64/vc15/lib)

windows版本的opencv可以直接在官网上下载:

Releases - OpenCV

任意版本的都可以,这个是我放置的位置

在QT及VS运行包含opencv的cmakelists实例_第5张图片

 编译有两种方式:命令行和cmake-gui

命令行方式

打开cmd,进入cmakelists.txt源码目录

在QT及VS运行包含opencv的cmakelists实例_第6张图片

先创建编译目录,运行:mkdir build

在QT及VS运行包含opencv的cmakelists实例_第7张图片

 会在源码目录中生成一个build文件夹

进入build目录

运行make ..

在QT及VS运行包含opencv的cmakelists实例_第8张图片

 完成后如上图所示,由于cmake默认是使用VS编译器,所以这里不用再需要设置编译环境了。

成功后会在build文件夹里面生成VS的工程文件:

在QT及VS运行包含opencv的cmakelists实例_第9张图片

如果安装了VS,直接打开demo.sln即可。

需要将demo设置为启动项目。

在QT及VS运行包含opencv的cmakelists实例_第10张图片 

 点击运行即可得到运行结果

在QT及VS运行包含opencv的cmakelists实例_第11张图片

 cmake-gui方式

首先需要安装CMake,然后打开cmake-gui

选择源码目录及需要编译目录(可自己指定)

在QT及VS运行包含opencv的cmakelists实例_第12张图片

 点击configure,选择最新的VS编译器,点击finish

在QT及VS运行包含opencv的cmakelists实例_第13张图片

 完成后点击generate,同样会在build目录下生成demo.sln文件,使用VS打开运行即可看到结果。

 

 

 

 

 

你可能感兴趣的:(C++,/,QT,qt,opencv,开发语言)