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
)