【C/C++】cmake的使用教程

本文详细介绍了如何使用CMake构建项目,包括设置CMake最小版本、定义项目、添加源文件、设置输出路径、链接库以及添加编译选项等步骤。通过示例展示了如何创建可执行文件、动态库和静态库,并管理头文件搜索路径。
摘要由CSDN通过智能技术生成

cmake 主要是对 CMakeLists.txt 文件进行编写

CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
set(CMAKE_CXX_STANDARD 11) 
set(CMAKE_CXX_STANDARD_REQUIRED True) 

PROJECT(HELLO) 


# 把当前目录下所有源代码文件和头文件加入列表变量 SRC_LIST
AUX_SOURCE_DIRECTORY(. SRC_LIST)
# 也可以使用set命令新建变量来存放需要的源文件建立列表变量
set( SRC_LIST
     ./main.c
     ./Func1.c
     ./Func2.c)

# 生成应用程序hello,调用列表变量
ADD_EXECUTABLE(hello ${SRC_LIST})

# 添加头文件的搜索路径
include_directories(
${PROJECT_SOURCE_DIR}/include/mq 
${PROJECT_SOURCE_DIR}/apps/incl 
${PROJECT_SOURCE_DIR}/include/rapidjson
)
# 将路径的源文件收集到列表变量
AUX_SOURCE_DIRECTORY (include include_path)
AUX_SOURCE_DIRECTORY (apps app_path)
ADD_EXECUTABLE(hello 
    src/main.c ${include_path} ${app_path})

# 设置路径 EXECUTABLE_OUTPUT_PATH 是目标二进制可执行文件的存放位置
set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

# ADD_SUBDIRECTORY 命令,这个命令可以向当前工程添加存放源文件的子目录
ADD_SUBDIRECTORY(src)

# 有时只需要编译出动态库和静态库,然后等着让其它程序去使用,把生成的库文件存放到lib目录下
# 对 源文件变量 生成动态库 testFunc_shared
ADD_LIBRARY(testFunc_shared SHARED ${SRC_LIST})
# 对 源文件变量 生成静态库 testFunc_static
ADD_LIBRARY(testFunc_static STATIC ${SRC_LIST})
# 设置最终生成的库的名称
set_target_properties(testFunc_shared PROPERTIES OUTPUT_NAME "testFunc")
set_target_properties(testFunc_static PROPERTIES OUTPUT_NAME "testFunc")
# 设置库文件的输出路径
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)

# 在指定路径下查找库,并把库的绝对路径存放到变量里
find_library(TESTFUNC_LIB testFunc HINTS ${PROJECT_SOURCE_DIR}/testFunc/lib)
# 把目标文件与库文件进行链接
target_link_libraries(hello ${TESTFUNC_LIB})

# 设置编译选项(配置编译器)
set(CMAKE_C_FLAGS "-Wall -Werror -Wstrict-prototypes -Wmissing-prototypes")

参考内容:
点击这里跳转
https://www.cnblogs.com/LXP-Never/p/15264243.html#blogTitle3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值