【CMake】CMakeLists.txt个人近期学习总结

这篇博客是作者近期学习CMakeLists.txt的总结,通过一个实例详细解释了如何组织目录结构、创建CMakeLists.txt文件以及如何处理库文件的链接。文章指出,在包含cpp源文件的目录中需要编写CMakeLists.txt,并通过add_subdirectory指令编译子目录。在上层目录中,不需要显式指定库文件路径,因为add_subdirectory会自动处理。同时,上层目录可以使用子目录中定义的变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CMake】CMakeLists.txt个人近期学习梳理

参考来源:
    
    【CMake】CMakeLists.txt的超傻瓜手把手教程(附实例源码)
    [ROS入门之CmakeList.txt详讲------>孟德尔的猫

本文为近期学习cmake的一点总结,基础知识还是主要参考以上链接。
1.直接以实例进行说明:

1.1源文件混在了底层文件目录中,如下面example项目例子的树结构图:

.                            #根目录
├── CMakeLists.txt
├── example_person.cpp       #主函数
├── protobuf                 
│   ├── bin
│   ├── include
│   └── lib
├── proto_buf                #头文件目录
│   ├── General_buf_read.h
│   └── General_buf_write.h
└── proto_pb2                #子目录
    ├── CMakeLists.txt
    ├── Person.pb.cc
    └── Person.pb.h

分析:

目录结构含义:

protobuf:提供的相关解析库和头文件,被proto_pb2文件夹内引用,生成库文件和头文件的存放地址,bin文件夹存放生成的可执行文件,include文件夹存放头文件,lib存放生成的库文件。
proto_buf:主函数example_persom.cpp文件引用封装在该文件夹下的read和write函数头文件。
proto_pb2:被proto_buf文件夹内引用;

步骤:
CMakeLists.txt的创建

对含有.cpp/.c/.cc的文件夹必须编写CMakeists.txt文件

对于本结构,必须在proto_pb2和项目根目录两处地方编写cmake文件。
CMakeLists.txt的编写
通常一个CMakeLists.txt需按照下面的流程:

project(xxx)                                         #必须

add_subdirectory(子文件夹名称)<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值