一、内容概述本文主要以实际案例为主。详细语法参考《CMake学习1 - 初出茅庐》,构造方法参考《CMake学习2 - 小试牛刀》。通过四个案例来讲解静态库和共享库的创建和调用方法。单共享库项目单静态库项目使用共享库,静态库使用pkg-config库2.单共享库项目2.1项目描述建立一个名为“Math”的共享库,通过add_library命令将产品构建为“libMath.so”“SHARED”关键字表示构建共享库支持通过makeinstall命令将该库安装到standardlibrary2.2工程结构中。├──CMakeLists.txt├──include│└──math│└──math.h└──math.cpp2.3文件内容CMakeLists.txt#构建项目所需的最低cmake版本cmake_minimum_required(VERSION3.1)#指定项目名称(输出libMath.so)project(Math)#创建静态库(需要包含所有cpp文件)add_library(${PROJECT_NAME}SHAREDmath.cpp)#包含需要的头文件所在目录项目位于target_include_directories(${PROJECT_NAME}PUBLIC${PROJECT_SOURCE_DIR}/include)#安装头文件install(DIRECTORY"${PROJECT_SOURCE_DIR}/include/"DESTINATION"/usr/local/include")#安装库文件install(目标${PROJECT_NAME}DESTINATION/usr/local/lib)math.h#pragmaoncedoubleadd(doublea,doubleb);doublesub(doublea,doubleb);doublemul(doublea,doubleb);doublediv(doublea,doubleb);math.c#include