跳到主要内容

CMake 的使用

在静态库中链接动态库

依旧在在静态库中链接静态库的基础上, 我们这次把addCode.h作为动态库, 然后让sort.cpp链接它!

  1. 修改addCode/CMakeLists.txt, 使其生成的是动态库:
cmake_minimum_required(VERSION 3.15)
project(demo_add)

aux_source_directory(./ SRC) # 搜索当前目录所有源文件
include_directories(${HEAD_PATH}) # 包含头文件
set(LIBRARY_OUTPUT_PATH ${LIB_PATH}) # 设置库输出路径
add_library(${ADD_CODE_LIB} SHARED ${SRC}) # 生成动态库文件
CMake
  1. 修改sort/CMakeLists.txt, 让静态库链接动态库(注: 记得target_link_libraries是放在cmake文件最后一行)
cmake_minimum_required(VERSION 3.15)
project(demo_sort)

aux_source_directory(./ SRC) # 搜索当前目录所有源文件
include_directories(${HEAD_PATH}) # 包含头文件
set(LIBRARY_OUTPUT_PATH ${LIB_PATH}) # 设置库输出路径
link_directories(${LIB_PATH}) # 链接库的目录
add_library(${SORT_LIB} STATIC ${SRC}) # 生成静态库文件
target_link_libraries(${SORT_LIB} ${ADD_CODE_LIB}) # 链接需要的动态库 (为${SORT_LIB}静态库链接)
CMake
  1. 直接生成即可, 结束!

注解

[1]

参考链接: CMake 保姆级教程(下)

请作者喝奶茶:
Alipay IconQR Code
Alipay IconQR Code
本文遵循 CC CC 4.0 BY-SA 版权协议, 转载请标明出处
Loading Comments...