首先需要生成一个CMakeLists.txt文件,代码的链接关系都写在这里面。填入如下代码:
cmake_minimum_required(VERSION 3.22) # 声明要求的cmake最低版本
project(projectname) # 声明一个cmake工程,projectname是工程名字
set(CMAKE_CXX_STANDARD 17) # 指定C++版本
set(CMAKE_BUILD_TYPE "Debug") # 设置编译模式,如Debug或Release
set(CMAKE_CXX_FLAGS "-O3") # 设置编译器的优化级别为最高,以优化生成的代码
include_directories("/usr/include/eigen3") # 将该目录添加到项目的头文件搜索路径中
find_package(Program REQUIRED) # 加载Program库,如果找不到,报错
include_directories(${Program_INCLUDE_DIRS}) # 将该库头文件路径添加到项目的头文件搜索路径中
# 添加可执行程序
add_executable(programname program.cpp) # (程序名 源文件)
# 添加库文件(有自定义库时program.cpp需要包含library.h文文件)
add_library(library library.cpp) # 静态库
add_library(library_shared SHARED library.cpp) # 共享库
# 链接库
target_link_libraries(programname library) # 将静态库(或共享库)链接到可执行程序上
target_link_libraries(programname ${Program_LIBRARIES}) # 将Program库链接到可执行程序上
find_package(Pangolin REQUIRED)
include_directories(${Pangolin_INCLUDE_DIRS})
target_link_libraries(programname ${Pangolin_LIBRARIES})