美文网首页
Windows下使用msys2打造OpenCV开发环境

Windows下使用msys2打造OpenCV开发环境

作者: Chigusa | 来源:发表于2017-07-30 23:50 被阅读0次

    前言

    嘛,这个东西在上次写msys2就想加的,无奈被CMake坑出💩,这几天因为折腾ffmpeg玩又要用所以研究了下,搞明白了还挺好用的。
    IDE依旧用的是Clion,配置啥看msys2配置记录,这里不再说了。

    安装OpenCV

    在msys2下安装还是很简单的

    # 如果没有安装toolchain的话先装下
    pacman -S mingw-w64-x86_64-toolchain
    # 安装OpenCV
    pacman -S mingw-w64-x86_64-opencv
    
    选择全部 安装toolchain 安装OpenCV

    完事,就是这么简单粗暴

    使用

    • Clion新建个项目
    新建项目 目录结构见左
    • 编写main.cpp
    // main.cpp
    /**
      读取一个图片,并显示
    */
    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    
    using namespace cv;
    
    int main() {
        Mat mat = imread("C:\\Users\\Chigusa\\Desktop\\1.jpg");
        imshow("test",mat);
        waitKey();
        return 0;
    }
    
    • 编写CMakeLists.txt
    # cmake版本最低要求
    cmake_minimum_required(VERSION 3.8)
    # 工程名,会产生"${PROJECT_NAME}"变量
    project(OpenCV_Test)
    # set用来定义变量,变量使用时用"${变量名}"的形式
    set(CMAKE_CXX_STANDARD 11)
    
    # 用find_package寻找OpenCV,找到后会有"${OpenCV_INCLUDE_DIRS}","${OpenCV_LIBRARIES}"两个变量可供使用,第一个是头文件位置,第二个是库文件
    find_package(OpenCV REQUIRED)
    
    # message用来打印信息,这里打印下找到的OpenCV的头文件和库文件的信息,可以不做
    message(STATUS "OpenCV Include: ${OpenCV_INCLUDE_DIRS}")
    message(STATUS "OpenCV Libs: ${OpenCV_LIBRARIES}")
    
    # 找到在当前目录下的所有代码文件,存储到"SOURCE_FILES"变量中
    aux_source_directory(. SOURCE_FILES)
    # 打印下刚才的"SOURCE_FILES",同样可不做
    message(STATUS "src: ${SOURCE_FILES}")
    
    # 定义需要include的头文件的位置
    include_directories(${OpenCV_INCLUDE_DIRS})
    
    # 添加个可执行的输出,第一个参数是输出名,必须唯一,第二个源文件
    add_executable(${PROJECT_NAME} ${SOURCE_FILES})
    
    # 用来链接库,注意这个函数要在"add_executable"之后使用
    target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBRARIES})
    
    • 点击上面的Reload changes,然后就能看到信息了


      Reload changes
    CMake输出
    • 编译运行
    成功运行

    尾巴

    如果想用其他的CMake构建出来的库,比如Boost也可以直接find_package(Boost REQUIRED),然后加个include_directories(${Boost_INCLUDE_DIRS})target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES})就行,如果不是的话参考这个文章吧。

    最近换了Mac,msys2近期估计不会再折腾了(狗屎虚拟机跑Win10快卡死我了orz)

    相关文章

      网友评论

          本文标题:Windows下使用msys2打造OpenCV开发环境

          本文链接:https://www.haomeiwen.com/subject/uraklxtx.html