• 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
  • 相关阅读:
    27 WEB漏洞-XSS跨站之代码及httponly绕过
    Linux三剑客之管道使用|nginx日志
    BiMPM实战文本匹配【下】
    【Git】提交代码的完整流程
    2023年第九届数维杯国际大学生数学建模挑战赛
    KNN算法与SVM支持向量机
    Jmeter性能监控
    【第37篇】EdgeViTs: 在移动设备上使用Vision Transformers 的轻量级 CNN
    基于布谷鸟优化的BP神经网络(预测应用) - 附代码
    Postgresql源码(88)column definition list语义解析流程分析
  • 原文地址:https://blog.csdn.net/w_weixiaotao/article/details/132815378