当前位置: 首页 > news >正文

苏州建设交通学校网站首页北京今天出现什么情况了

苏州建设交通学校网站首页,北京今天出现什么情况了,做游戏下载网站赚钱,电商网站怎么建设问题描述 功能包名为paddle_detection 在工作空间下, 通过catkin_make可以正常通过编译且执行无异常, 可以通过bloom-generate rosdebian生成依赖 但是在将其打包成deb包的过程中fakeroot debian/rules binary报错 fatal error: paddle_detection/paddle_detectionConfig.…

问题描述

功能包名为paddle_detection

在工作空间下, 通过catkin_make可以正常通过编译且执行无异常,

可以通过bloom-generate rosdebian生成依赖

但是在将其打包成deb包的过程中fakeroot debian/rules binary报错

fatal error: paddle_detection/paddle_detectionConfig.h: No such file or directory44 | #include <paddle_detection/paddle_detectionConfig.h>|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

解决思路

之前用过一个局部路径规划包, teb_local_planner, 里面包含了动态参数配置, 而且可以成功编译打包, 因此把他的代码拉了下来去分析他的CMakelists.txt, 最终找到了一些区别, 添加后解决

原因

catkin_make的过程中, 程序会自动根据ros的规则去配置与生成头文件, 即只要在CMakelists.txt中添加了

generate_dynamic_reconfigure_options(config/paddle_detection.cfg#...
)

就会自动生成 paddle_detectionConfig.h的头文件, 并被其他文件引用

但是在fakeroot debian/rules binary的过程中, 这一步还没有完成时就会同步开启其他文件的编译, 因此会导致无法找到paddle_detection/paddle_detectionConfig.h这个头文件的错误

解决

在添加完上面的语句后, 再添加一句

add_dependencies(paddle_detection ${PROJECT_NAME}_gencfg)

这就指定了 paddle_detection 这个可执行文件的构建依赖于 ${PROJECT_NAME}_gencfg 目标的完成。这里的 ${PROJECT_NAME}_gencfg 是一个由 generate_dynamic_reconfigure_options 自动生成的目标,它负责处理 dynamic_reconfigure 的配置文件(在这个例子中是 paddle_detection.cfg)。

这种依赖关系的具体含义是:

  • 当你运行 make 命令来构建你的项目时,CMake 会首先确保 ${PROJECT_NAME}_gencfg 目标已经完成。这意味着所有与动态配置相关的自动生成的代码都会在尝试构建 paddle_detection 之前完成。
  • 这样做的目的是确保在编译 paddle_detection 时,所有由 dynamic_reconfigure 生成的头文件都已经存在并可用。这些头文件通常包含了必要的配置类和方法,它们由 paddle_detection.cfg 定义的参数生成。

总结

在进行动态参数的生成与配置时, 至少在CMakelist中包含两项内容

generate_dynamic_reconfigure_options(config/paddle_detection.cfg#...
)
add_dependencies(paddle_detection ${PROJECT_NAME}_gencfg)

补充一点

在生成消息类型时也会遇到这样的问题, ROS会自动把msg, srv等自动转换成.h文件, 但是在进行单独打包时需要注意, 在添加可执行文件时应该完成对这些消息类型的依赖, 否则会报类似的错误

add_executable(getRT src/tool/getRT.cpp 
)
add_dependencies(getRT ${PROJECT_NAME}_generate_messages_cpp) #这一句就是为了保证消息类型先编译
target_link_libraries(getRT ${catkin_LIBRARIES} )
target_include_directories(getRT PRIVATE ${PYTHON_INCLUDE_DIRS})
http://www.yayakq.cn/news/330402/

相关文章:

  • 网站优化就是seo软件开发的六大步骤
  • 内蒙包头网站开发泉州网站关键词推广费用
  • 郑州公司网站如何制作惠州市跨境电子商务网站开发
  • 最大网站建设公司排名网站建设进度表下载
  • 网上做兼职的网站有哪些wordpress跳转页面插件
  • 深圳网站公司建设方案wordpress导航样式
  • 江门营销网站建设如何设计大气的网站
  • 手机版官方网站的建设高端建筑企业简介
  • asp汽车租凭网站源码深圳建筑设计公司排行榜
  • 建设学校网站多钱苏州做网站推广的公司
  • 龙岩做网站南京网站建设希丁哥
  • 网站建设内容策略静安网站开发
  • 专门做墓志铭的网站大连天健网大连
  • 做自己的卡盟网站怎样用自己的pid做搜索网站
  • 网站logo下载自己做app
  • 智库门户网站建设免费dw网页模板
  • 8848网站盈利模式手机中国官网报价
  • 株洲网站网络推广怎么做wordpress后台教程网
  • 瑞安联科网站建设网站命名规范
  • 建设企业网站e路护航官网下载深圳网站制作必荐祥奔科技
  • 淘宝优惠券查询网站怎么做网站建设的方法有哪些内容
  • 公司网站建设的目标绿色主题+wordpress
  • 兰州网站优化排名企业搭建一个营销型网站多少钱
  • 做淘客网站要多大的服务器iis中怎样配置网站绑定
  • 自己怎么做网址开网站广州公司注册名字查询
  • 我的世界做头像的网站内蒙古网站建设云聚
  • 用html做网站搜索框html在线模板
  • 网站网页设计html展厅设计收费标准
  • 深圳大型网站建设公司html5网站开发开题报告
  • 华为网站建设费用wordpress入門