• CMakeLists.txt上OpenCV库配置


    平台: Windows 11 x64/Ubuntu  22.04

               CMake 3.15.5

               OpenCV 4.5.0

    CMakeLists.txt文件内容:

    1. cmake_minimum_required(VERSION 3.0.0)
    2. project(demo VERSION 0.1.0)
    3. # script
    4. include_directories(./include)
    5. include_directories(./3rd)
    6. FILE(GLOB SRC_HEADER_LIST ./include/*.h ./include/*.hpp)
    7. FILE(GLOB SRC_SOURCE_LIST ./sources/*.c ./sources/*.cxx ./sources/*.cpp)
    8. FILE(GLOB SRC_3RD_HEADER_LIST ./3rd/*.h ./3rd/*.hpp)
    9. FILE(GLOB SRC_3RD_SOURCE_LIST ./3rd/*.c ./3rd/*.cxx ./3rd/*.cpp)
    10. SOURCE_GROUP("SRC Head" FILES ${SRC_HEADER_LIST})
    11. SOURCE_GROUP("SRC Impl" FILES ${SRC_SOURCE_LIST})
    12. SET(SRC_LIST ${SRC_HEADER_LIST} ${SRC_SOURCE_LIST} ${SRC_3RD_HEADER_LIST} ${SRC_3RD_SOURCE_LIST})
    13. MESSAGE(STATUS "sources list " ${SRC_LIST})
    14. # package OPENCV
    15. if (WIN32)
    16. set(OpenCV_DIR "D:/ENV/opencv-4.5.0")
    17. elseif(APPLE)
    18. message(STATUS "Now is Apple systems.")
    19. else ()
    20. set(OpenCV_DIR "/ENV/opencv-4.5.0/lib/cmake/opencv4")
    21. endif ()
    22. find_package(OpenCV REQUIRED)
    23. message(STATUS "OpenCV libaray information:")
    24. message(STATUS " version: ${OpenCV_VERSION}")
    25. message(STATUS " libraries: ${OpenCV_LIBS}")
    26. message(STATUS " header file: ${OpenCV_INCLUDE_DIRS}")
    27. SET(EXTRA_INCS ${OpenCV_INCLUDE_DIRS} )
    28. SET(EXTRA_LIBS ${OpenCV_LIBS} )
    29. # package ###
    30. message(STATUS "EXTRA_INCS: ${EXTRA_INCS}")
    31. message(STATUS "EXTRA_LIBS: ${EXTRA_LIBS}")
    32. #add_definitions( )
    33. # # Library
    34. # add_library( libDemo SHARED ${SRC_LIST})
    35. # target_link_libraries( libDemo ${EXTRA_LIBS} )
    36. # target_compile_definitions( libDemo PRIVATE API_EXPORTS)
    37. # set_target_properties( libDemo PROPERTIES
    38. # RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
    39. # )
    40. # exe:
    41. add_executable( demo ${SRC_HEADER_LIST} main.cpp )
    42. target_link_libraries( demo ${EXTRA_LIBS} )
    43. set_target_properties( demo PROPERTIES
    44. RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
    45. )

    使用:

    1,创建项目demo文件夹(比如使用VSCode进行管理更方便)

    2,进入demo项目文件夹中,创建两个文件:

         main.cpp 测试代码脚本文件

        CMakeLists.txt cmake项目生成脚本文件

    3,在main.cpp文件中实现main方法及其他功能代码

    4,在CMakeLists.txt 用上面的内容进行适当修改(比如添加新的引用库,修改opencv实际路径)

    5,使用cmake-gui.exe对项目进行工程生成

    6,编译项目工程

  • 相关阅读:
    MySQL 中NOWAIT及SKIP LOCKED的使用示例
    Java JSON的解析和创建
    windows主机和vmware ubuntu18.04虚拟机ping通
    css设置浏览器表单自动填充时的背景
    Python代码运行速度提升技巧!Python远比你想象中的快~
    离线生成双语字幕,一键生成中英双语字幕,基于AI大模型,ModelScope
    头条百科是什么?创建头条百科效果怎么样?
    Nginx Location配置详解
    IDEA代码重构
    .NET 升级发布后,IIS出现了System.IO.DirectoryNotFoundException
  • 原文地址:https://blog.csdn.net/mylaf/article/details/126424211