CMake学习之include


一、cmake incldue

从给定的文件中读取CMake的列表文件。

include(file [OPTIONAL][RESULT VARIABLE VAR])
从给定的文件中读取CMake的清单文件代码。在清单文件中的命含会被立即处理。如果指定了OPTIONAL选项,那么如果被包含文件不存在的话,不会报错。如果指定了RESULT VARIABLE选项,那么var或者会被设置为被包含文件的完整路径,

NOTFOUND,表示未找到该文件

二、示例

message("begin include")

include("cmake/test_cmake.cmake")

include("cmake/test_cmake1.cmake" OPTIONAL) #OPTIONAL 可选,文件不存在不报错

include("cmake/test_cmake1.cmake" OPTIONAL  RESULT_VARIABLE ret) # RESULT_VARIABLE 返回值,是否引用成功
message("RESULT_VARIABLE ret= ${ret}") #NOTFOUND

include("cmake/test_cmake.cmake" OPTIONAL  RESULT_VARIABLE ret)
message("RESULT_VARIABLE ret= ${ret}") #导入文件的绝对路径

message("end include")



推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/VsFMs

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
边缘检测_OpenCV在Zedboard上的移植 本实验的前提条件: ① 下载安装cmake:apt-get install cmake cmake-curses-gui ② 已安装arm-xilinx-linux-gnueabi-gcc编译环境 1、 新建安装目录 新建安装目录/home/esion/zed,将opencv-2.4.10.zip复制到zed文件夹中并解压缩,这样在zed目录下就有opencv-2.4.10文件夹,在此文件夹中新建一个build和install文件夹。 2、 配置安装链 在opencv-2.4.10文件夹中新建一个toolchain.cmake文件。可以使用gedit toolchain.cmake命令新建该文件。在toolchain.cmake文件中输入 set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR arm) set(CMAKE_C_COMPILER arm-xilinx-linux-gnueabi-gcc) set(CMAKE_CXX_COMPILER arm-xilinx-linux-gnueabi-g++) 3、 OpenCV安装配置 关联toolchain.cmake文件并配置移植OpenCV的安装目录。进入bulid文件夹打开终端,进入root身份: cmake -D CMAKE_TOOLCHAIN_FILE=toolchain.cmake -D CMAKE_INSTALL_PREFIX=/home/esion/zed/opencv-2.4.10/install ../ 4、 生成Makefile文件 执行 ccmake ./ 进行OpenCV配置,通过上下键和回车键设置WITH_V4L为ON其他所有WITH开头的选项选成OFF,因为这些需要第三方库支持的,要是选择这些的话就需要安装第三方库了。设置完成后按c键进行配置,g键产生Makefile文件。 5、 编译安装 配置完成后,输入 make 开始编译,这一步的时间比较长,约20分钟左右,编译完成后,输入 make install 进行安装,安装完成后在install的文件夹里生成四个目录:bin、lib、include、share,其中lib就是Zedboard所需的运行库。 6、 制作opencv镜像文件 可以通过将OpenCV运行库压缩到ramdisk镜像中的方法进行移植,不过在这里将OpenCV运行库压缩成镜像,Zedboard上板测试时通过加载镜像的方式使用。下面进行镜像制作,注意仅在终端中输入下方的指令即可,无需输入注释内容。 cd /home/esion/zed // 生成镜像的目录 dd if=/dev/zero of=opencv_lib.img bs=1M count=80 // 镜像的名字opencv_lib.img和大小80M,可以根据实际链接库的大小进行设置 mkfs.ext2 -F opencv_lib.img chmod go+w opencv_lib.img mount opencv_lib.img -o loop /mnt 将ubuntu中相应的库文件拷贝到opencv库中: cp /home/z/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/arm-xilinx-linux-gnueabi/libc/usr/lib/libstdc++.so* /home/esion/zed/opencv-2.4.10/install/lib
【资源说明】 基于ROS和深度强化学习不同算法的移动机器人导航避障python源码+使用详细说明.zip 要求 python 3.5 Tensorflow 1.14.0 ROS Melodic 使用步骤 因为有未知问题,需要把小车在gazebo中的启动,与tesorflow强化学习分开成两个文件夹,合在一起会报错 ## 1.创建虚拟环境 NDDDQN ## 2.安装tensorflow ``` pip install tensorflow-gpu==1.14.0 -i https://pypi.tuna.tsinghua.edu.cn/simple ``` ## 3.在两个工作空间进行编译 在catkin_ws和catkin_ws1分别编译: ``` catkin_make --cmake-args \ -DCMAKE_BUILD_TYPE=Release \ -DPYTHON_EXECUTABLE=/usr/bin/python3 \ -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m \ -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so ``` ## 4.运行 首先在运行小车的catkin_ws1文件夹中: ``` cd catkin_ws1 source devel/setup.sh roslaunch pioneer_utils xxx ``` xxx对应运行环境: ``` bizhang.launch 静态避障 ​ daohang.launch 静态导航 ​ dongtai.launch 动态导航 ​ keyboard_teleop.launch 键盘控制 ``` 然后在运行强化学习的文件夹catkin_ws中: ``` conda activate NDDDQN cd catkin_ws source devel/setup.sh cd src/Tensorflow/xxx python main.py ``` xxx对应运行算法: ``` DQN-bizhang 静态避障-DQN ​ DDQN-bizhang 静态避障-DDQN ​ DQN-Dueling-bizhang 静态避障-Dueling-DQN ​ DDQN-Dueling-bizhang 静态避障-Dueling-DDQN ​ NDDQN-Dueling-bizhang 静态避障-Dueling-NDDQN ​ Beta-DDQN-Dueling-bizhang 静态避障-Beta-Dueling-DDQN ​ Empty-Navigation 静态导航-Dueling-NDDQN ​ separate-Empty-Navigation 静态导航-separate-Dueling-NDDQN ​ Navigation-DDQN 静态导航-DDQN ​ people-Navigation 动态导航-Dueling-NDDQN ``` 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
### 回答1: CMake是一种跨平台的构建工具,其主要作用是自动生成Makefiles或Visual Studio项目文件,可以方便地管理和构建代码。本文主要介绍CMake的应用实践。 首先,我们需要编写CMakeLists.txt文件来描述项目的结构和依赖情况。CMakeLists.txt一般包含项目名称、源文件、头文件、库文件等信息,并可以通过add_executable或add_library等命令来生成可执行文件或库文件。 其次,我们可以使用cmake命令来生成Makefiles或Visual Studio项目文件。在命令行中输入cmake后,后面跟上项目路径,即可生成对应的构建文件。此时我们可以通过make(或nmake)命令来编译和链接代码,生成可执行文件或库文件。 在实践中,我们还可以使用一些CMake高级特性来优化代码的构建。例如可以使用find_package命令来查找外部依赖库,使用target_include_directories命令来指定头文件路径,使用target_link_libraries命令来链接外部库。 总之,CMake作为一种跨平台、灵活易用的构建工具,在实践中有着广泛的应用。通过熟练掌握CMake的使用方法,我们可以更加高效地管理和构建代码,提高开发效率和代码质量。 ### 回答2: cmake是一个跨平台的自动化构建工具,可以自动生成各种编译配置文件,使得开发者可以同时在不同操作系统和编译器上构建他们的软件。《cmake实践.pdf》是一本关于使用cmake构建和管理大型C++项目的指南书籍。 本书主要介绍了使用cmake构建C++项目的基础知识和实践技巧。首先,本书通过介绍cmake的基本概念和语法,使读者能够了解并掌握cmake构建项目的基本流程。其次,本书介绍了如何在实际项目中使用cmake,从项目的目录结构设计、CMakeLists.txt文件编写、模块化设计到模板化编程等多个方面,详细地讲解了如何采用最佳实践构建和管理大型C++项目。 本书的特点是结合大量实例进行说明,同时还涉及了cmake在Linux和Windows操作系统下的实践方法。此外,本书还介绍了如何使用cmake生成Visual Studio和Makefile等常用的编译器配置文件,以及如何通过使用CTest和CDash对项目进行测试和管理等内容。 总之,《cmake实践.pdf》是一本非常实用的C++项目构建指南,它不仅介绍了cmake的基本原理和使用方法,更重要的是通过大量实例的演示,向读者展示了如何在实际项目中使用cmake构建、管理和测试大型C++项目,对于需要开发C++项目的需求方、开发者以及系统管理员等人员而言,这本书是一本必备的参考书。 ### 回答3: 《cmake 实践》是一本关于CMake的实践性教材,通过介绍实际项目中的CMake代码,帮助读者更好地理解和使用CMake构建自己的项目。 该书主要分为三个部分: 第一部分介绍了CMake的基本语法及其常用的配置命令,通过一个例子讲述了如何使用CMake生成可执行文件和静态/动态库。 第二部分重点讲述了如何使用CMake对多个源代码文件和多个目录文件进行管理,通过介绍多重源代码文件、交叉编译和自定义模块等内容,帮助读者更好地掌握CMake的高级用法。 第三部分则介绍了如何使用CMake和其他工具(如ctest和CPack)对项目进行测试和打包。它详细介绍了CTest框架和如何使用CTest对测试用例进行管理,同时还介绍了CPack包装器和如何使用它来构建不同的包类型。 总的来说,《cmake 实践》是一本非常实用的CMake教材,它从实践角度出发,为读者提供了大量可操作的代码示例和实践指南,不仅介绍了CMake的基础知识,还为读者打开了CMake高级用法和与其他工具的接口,是一个不可多得的CMake学习资料。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值