在CMakeLists.txt编译时经常会遇到的一个问题是找不到相应的package,例如报错如下:

CMake to find a package configuration file provided by "catkin", but CMake did not find one. Could not find a package configuration file provided by "catkin" with any of the following names: catkinConfig.cmake catkin-config.cmake Add the installation prefix of "catkin" to CMAKE_PREFIX_PATH or set "catkin_DIR" to a directory containing one of the above files.  If "catkin" provides a separate development package or SDK, be sure it has been installed.
find_package(<PackageName> [version] [EXACT] [QUIET] [MODULE][REQUIRED] [[COMPONENTS] [components...]][OPTIONAL_COMPONENTS components...][NO_POLICY_SCOPE])

我们自己的CMakeLists.txt里面这么写的find_package(catkin REQUIRED COMPONENTS[REQUIRED]选项可以在找不到相应package时候停止运行进程。解析我们的错误,证明我们的catkin 在程序里没有被找到。issue建议我们 Add the installation prefix of “catkin” to CMAKE_PREFIX_PATH or set “catkin_DIR” to a directory containing one of the above files. 现在我们进一步探究一下。

  • 首先,我们确定一下自己是否安装了package
  • 查看没有找到的文件是否在文件里
  • 配置路径

参考资料

1.cmake官方资料

CMake中find_package的学习相关推荐

  1. CMake中find_package的使用

    CMake中的命令find_package用于查找指定的package. find_package支持两种主要的搜索方法:注意:<PackageName>是区分大小写的       (1) ...

  2. CMake结合PCL库学习(1)

    经常会有有人问到CMake的学习的问题,而且网上也有很多博客是介绍学习CMake 的用法,但是我觉的学习不用这样死板,用到了就顺便学习一下,也就是边做边学,由浅入深,慢慢的就会熟悉了,这个学习的过程中 ...

  3. coverage 覆盖多个测试文件时_奇技淫巧[2]:cmake中添加lcov代码覆盖测试

    奇技淫巧[2]:cmake中添加lcov代码覆盖测试 1 目的 为CMake工程的test添加lcov代码覆盖性测试 2 要点 添加lcov支持的方法应该有很多,比较方便的有: (1)利用脚本基于文件 ...

  4. CMake中file的使用

    CMake中的file命令用于文件操作,其文件格式如下:此命令专用于需要访问文件系统的文件和路径操作 Readingfile(READ <filename> <variable> ...

  5. CMake中foreach的使用

    CMake中的foreach命令为list中的每个值评估一组命令(Evaluate a group of commands for each value in a list),其格式如下:其中< ...

  6. CMake中option和cmake_dependent_option的使用

    CMake中的option命令为用户提供可以选择的布尔选项(boolean option),其格式如下: option(<variable> "<help_text> ...

  7. Cmake语句find_package()函数

    背景 如果我们在cmake某个程序的时候,经常会提示找不到某个所依赖的库,那么这是时候我们就需要检查我们引入依赖库的路径对不对了, Cmake中一个自动寻找函数find_package()可以帮我们实 ...

  8. CMake中target_compile_features的使用

    CMake中的target_compile_features命令用向target添加预期的编译器功能(compiler features),其格式如下: target_compile_features ...

  9. CMake中set/unset的使用

    CMake中的set命令用于将普通.缓存或环境变量(normal, cache, or environment variable)设置为给定值,其格式如下:指定<value>...占位符( ...

最新文章

  1. vim的简单介绍与使用
  2. php html转化为pdf,PHP将html转换成PDF文件
  3. 精确记算程序的运行时间或者某段代码的运行时间
  4. java8 时间 LocalDateTime常用方法
  5. 电脑出现 远程计算机或者设备不受连接
  6. oracle long转为string,实现全局拦截前端传入的Long类型id转String
  7. drupal mysql_Drupal MySQL查询优化
  8. git .gitignore 忽略的文件还会被提交
  9. 数据中心实施服务器虚拟化前的十大思考
  10. TypeScript 的声明文件的使用与编写
  11. 【常识】—— 生物学
  12. Java网络聊天室系统的设计与实现
  13. 2022年阿里云域名备案流程亲测及注意事项
  14. matlab解洛伦兹方程,用MATLAB和Simulink解决微分方程的问题:Lorenz吸引子案例研究【含Matlab代码】...
  15. civil 3d 计算机配置,Civil 3D技巧:如果做到设计文件的高效出图?
  16. 面向对象:继承(经典类新式类继承原理、属性查找)、派生
  17. 爱情七十六课,门当户对
  18. 测试高考体育成绩的软件,高考体育考试项目内容及成绩评定标准
  19. 一个sql注入直接把我们服务搞挂了
  20. 科研实习 | 新加坡国立大学尤洋老师课题组招收Data-centric AI科研实习生

热门文章

  1. 信用卡迎来史上最强风控?利用数据挖掘进行信用卡评分,提高银行的客户风险识别能力
  2. cs2d怎么自建服务器,CS2D怎么注册USGN账号 USGN账号注册教程及作用一览
  3. 指针式仪表自动读数与识别(二):仪表图像预处理
  4. 自动下载mnist数据集并解压分类为jpg图片
  5. python 使用input函数输入两个数字,比较两个数字的大小,并输出较大的数
  6. 放大电路中的反馈(电压串联负反馈,电流串联负反馈,电压并联负反馈,电压并联负反馈)
  7. 2018计算机考试报名官网,2018年上半年全国计算机等级考试报名系统入口地址
  8. wap建站程序_网站建设wap建站系统是什么?有什么优势?
  9. python建立空矩阵_创建空矩阵Python
  10. dYdX会是DeFi下一轮爆发的引擎吗?