• cmake学习过程记录


    基础命令学习

    //设置最低版本号

    cmake_minimum_required(VERSION 3.5)
    
    • 1

    //设置项目名称

    project (hello_headers)
    
    • 1

    //递归遍历文件夹src中的cpp文件放到变量SOURCES

    file(GLOB_RECURSE SOURCES  src/*.cpp)
    
    • 1

    //设置目标exe名称

    add_executable(hello_headers ${SOURCES})
    
    • 1

    //设置包含文件路径,这里设置了两个路径

    target_include_directories(hello_headers
        PRIVATE 
            ${PROJECT_SOURCE_DIR}/include
        PRIVATE 
            ${PROJECT_SOURCE_DIR}/inc
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    //包含第三方头文件目录

    include_directories("D:\\cmake_learn\\MSVC_cmp\\3rdParty\\include")
    
    • 1

    //链接第三方lib库目录

    link_directories("D:\\cmake_learn\\MSVC_cmp\\3rdParty\\lib\\Debug")
    
    • 1

    //链接第三方库名称

    target_link_libraries(main PRIVATE 
        opencv_calib3d249d
        opencv_contrib249d
        opencv_core249d
        opencv_features2d249d
        opencv_flann249d
        opencv_gpu249d
        opencv_haartraining_engined
        opencv_highgui249d
        opencv_imgproc249d
        opencv_legacy249d
        opencv_ml249d
        opencv_nonfree249d
        opencv_objdetect249d
        opencv_ocl249d
        opencv_photo249d
        opencv_stitching249d
        opencv_superres249d
        opencv_ts249d
        opencv_video249d
        opencv_videostab249d
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    配置opencv+cmake (Windows版本)

    cmake_minimum_required(VERSION 3.10)
    
    project(main)
    # 引入opencv include 目录
    include_directories("D:\\cmake_learn\\MSVC_cmp\\3rdParty\\include")
    # 引入opencv lib 目录
    link_directories("D:\\cmake_learn\\MSVC_cmp\\3rdParty\\lib\\Debug")
    # 添加可执行程序exe名称
    add_executable(main main.cpp)
    # 链接 opencv 库名称
    target_link_libraries(main PRIVATE 
        opencv_calib3d249d
        opencv_contrib249d
        opencv_core249d
        opencv_features2d249d
        opencv_flann249d
        opencv_gpu249d
        opencv_haartraining_engined
        opencv_highgui249d
        opencv_imgproc249d
        opencv_legacy249d
        opencv_ml249d
        opencv_nonfree249d
        opencv_objdetect249d
        opencv_ocl249d
        opencv_photo249d
        opencv_stitching249d
        opencv_superres249d
        opencv_ts249d
        opencv_video249d
        opencv_videostab249d
    )
    # 设置 exe 输出路径(exe输出到 dll 目录下)
    SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/3rdParty/bin)
    # 设置 exe 执行路径(运行时加载 dll )
    set(CMAKE_CURRENT_BINARY_DIR ${PROJECT_SOURCE_DIR}/3rdParty/bin)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
  • 相关阅读:
    【1331. 数组序号转换】
    Leetcode 二叉树番外篇 —— 搞定所有二叉树递归问题
    java基于SpringBoot+vue 的简历模板分享系统 elementui前后端分离
    机器学习中的数学原理——梯度下降法(最速下降法)
    uniapp框架UI蓝图
    NNDL:作业3
    QNX在车机系统的应用
    express学习5-构建模块化路由2
    C语言指针笔试题讲解
    P02014158 马帅(信息论课程作业)
  • 原文地址:https://blog.csdn.net/w_weixiaotao/article/details/132815378