糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > Windows下使用cmake 组织工程 编译静态库 动态库 导入第三方库 编译工程

Windows下使用cmake 组织工程 编译静态库 动态库 导入第三方库 编译工程

时间:2020-03-14 22:15:07

相关推荐

Windows下使用cmake 组织工程 编译静态库 动态库 导入第三方库 编译工程

Windows下使用cmake 组织工程,编译静态库、动态库,导入第三方库,编译工程

1 使用主工程的CMakeLists.txt生成所有目标1.1 构建静态库并进行编译1.2 构建动态库并进行编译 2 将main.cpp外的其他文件作为子工程2.1 构建静态链接库并编译2.2 构建动态链接库并编译 3 首先将main.cpp外的其他文件编译为库,然后将其作为第三方库导入3.1 构建静态链接库并导入2.1.1 编译静态链接库3.1.2 导入编译的库并编译主工程 3.2 构建动态链接库并导入3.2.1 编译动态链接库3.2.2 导入编译的库并编译主工程

目标:编译一个含有三个文件的工程,使用三种方法:

1、使用主工程的CMakeLists.txt生成所有目标

2、将main.cpp外的其他文件作为子工程

2、首先将main.cpp外的其他文件编译为库,然后将其作为第三方库导入

1 使用主工程的CMakeLists.txt生成所有目标

1.1 构建静态库并进行编译

工程结构:

CMakeLists.txt

cmake_minimum_required(VERSION 3.10.0)# 最低版本要求 cmake 构建工具小于3.10.0将报错project(main)# 工程项目名称set(MOD_MY_CALCULATION_PATH ${CMAKE_SOURCE_DIR}/my_calculation)# 设置一个变量标记路径# ${CMAKE_SOURCE_DIR} 这个取CMake自带宏里面的路径 就是这个CMakeLists.txt所在的路径aux_source_directory(${MOD_MY_CALCULATION_PATH} MOD_MY_CALCULATION_SRC)# ${} 固定的范式,取变量 MOD_MY_CALCULATION_PATH 里面的值,这里为 ${CMAKE_SOURCE_DIR}/my_calculation# MOD_MY_CALCULATION_SRC自定义的一个变量# 整条语句将对 ${CMAKE_SOURCE_DIR}/my_calculation 的源码*.cpp 和*.c 文件 输出到变量 MOD_MY_CALCULATION_SRCadd_library(my_calculation STATIC ${MOD_MY_CALCULATION_SRC}) # 构建静态库# 将所有的源文件归档成lib 这一句将会在build下生成lib# --------------上面的语句就已经能够生成静态库------------------aux_source_directory(${CMAKE_SOURCE_DIR} RP_ALL_SRC)# 这里对 ${CMAKE_SOURCE_DIR} 也就是当前CMakeList.txt 目录下的*.cpp输出到变量# RP_ALL_SRC (RP_ALL_SRC 意为顶层目录所有源码)add_executable(main ${RP_ALL_SRC})target_link_libraries(main my_calculation) #为生成目标添加编译的库(my_calculation) 可以是多个 比如 target_link_libraries(main lib1 lib2) #这里因为是在同一个CMakeLists.txt中 所以lib会被识别并找到,这里默认构建了其生成的依赖关系

my_calculation.h

#pragma onceint

如果觉得《Windows下使用cmake 组织工程 编译静态库 动态库 导入第三方库 编译工程》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。