CMakeLists的基础使用

1、整体目录结构概述

本文仅对CMakeLists在Andriod Studio中的使用做整体性的描述,不对具体的CMake命令做详细的展开解释,如需详细的CMake命令的解释,请自行网上查阅。

最外层目录CMakeLists的配置

 模块内部CMakeLists的配置

 整体的代码目录结构

2、设置CMake最低兼容版本

3、设置一些基础编译选项

 4、设置头文件的目录

CMAKE_SOURCE_DIR是系统的常量,代表当前CMakeLists所在的目录。

../代表,此目录的上一级目录。

5、添加动态库的依赖

7、功能模块分包后使用多个CMakeLists

 

 将 ${CMAKE_SOURCE_DIR}/Ffmpeg 目录子模块的CMakeLists添加进来,父CMakeLists中的配置回传导到子CMakeLists中.

8、包含自己写的代码

 file命令,将/Ffmpeg文件夹下所有的.cpp文件设置给native_cpp_files变量,将所有的.c文件设置给native_c_files变量,这样就用不用单个文件往add_library()中添加了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Pointcloud 中调用 tracker.cpp,需要做以下更改: 1. 在 Pointcloud 目录下的 CMakeLists.txt 文件中添加一个新的可执行文件 target,用于编译 tracker.cpp: ```cmake add_executable(pointcloud pointcloud.cpp utils.h obstacle_detector.cpp obstacle_detector.h) add_executable(tracker tracker/tracker.cpp tracker/obstacle_detector.cpp tracker/obstacle_detector.h tracker/utils.h tracker/track/track.cpp tracker/track/obstacle_detector.cpp tracker/track/obstacle_detector.h tracker/track/kalman.cpp tracker/track/kalman.h) add_executable(munkres tracker/munkres/munkres.cpp tracker/munkres/matrix.cpp tracker/munkres/matrix.h) ``` 2. 如果 tracker.cpp 依赖于 pointcloud.cpp 或者 obstacle_detector.cpp,那么需要将这些文件添加到 target 的源文件列表中: ```cmake add_executable(tracker tracker/tracker.cpp tracker/obstacle_detector.cpp tracker/obstacle_detector.h pointcloud.cpp obstacle_detector.cpp) ``` 3. 如果 tracker.cpp 还依赖于其他的头文件或库,需要添加相应的包含路径和链接库路径: ```cmake include_directories(/path/to/include) # 添加头文件包含路径 link_directories(/path/to/lib) # 添加链接库路径 target_link_libraries(tracker library_name) # 链接所需的库 ``` 请根据实际情况修改上述路径和库名称,然后再次运行 cmake 和 make 命令来重新编译项目。这样就可以生成 Pointcloud、Tracker 和 Munkres 三个可执行文件,并且 Pointcloud 中可以调用 tracker.cpp。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值