首先需要生成一个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})
05-07 06:27