CMakeLists基础使用指南

1. 基础概念

使用cmake编译的文件目录结构
├── build      // 编译中间文件目录
├── CMakeLists.txt
├── include     // 头文件目录
│   ├── a.h
│   └── b.h
├── lib       // 外部动态链接库目录
│   └── libb.so
└── src       // 程序文件目录
   ├── a.cpp
   └── main.cpp
CMakeLists的主要作用
添加管理文件间的相互依赖关系(main<->库,库<->库

2. CMakeLists语法

//最低版本
cmake_minimum_required(VERSION 2.8)
//项目名称
project(project_name)
//寻找现有库
find_package(OpenCV REQUIRED)
//包含头文件目录
include_directories(
    ${
    
    OpenCV_INCLUDE_DIRS}
    /usr/include/eigen3
    include    
)
//生成库文件
add_library(
    a
    src/a1.cpp
    src/a2.cpp
    src/a3.cpp
)
//链接库文件路径
link_directories(${
    
    CMAKE_CURRENT_SOURCE_DIR}/lib)
//添加可执行程序
add_executable(main src/main.cpp)
//链接库文件和目标文件
target_link_libraries(main 
    ${
    
    OpenCV_LIBS}
    a    
    libb.so
)

猜你喜欢

转载自blog.csdn.net/zhngyue123/article/details/113813533