一个ros包依赖另一个ros包提供的库

背景:

编写一个点云配准的ros包,记为A,在其中打算使用多种点云配准算法。

同一个ros工作空间下有另一个ros包,记为B,B中提供了几种点云配准算法,并将它们都编译成一个库文件并安装在工作空间中。

实施情况:

在A的代码中,include ros包B所提供的头文件,同时要对A的CMakeLists.txt和package.xml做如下修改,

CMakeLists.txt

find_package(catkin REQUIRED COMPONENTS
ndt_registration
)

catkin_package(
    CATKIN_DEPENDS ndt_registration
)

package.xml

<build_depend>ndt_registration</build_depend>
<exec_depend>ndt_registration</exec_depend>

如果缺少上述步骤,在编译A时,报错如下:

/home/gordon/fase_ws/src/ddd_wall_mapping/src/ddd_map_framework.cc:17:46: fatal error: ndt_registration/ndt_matcher_d2d.h: No such file or directory

原文地址:https://www.cnblogs.com/gdut-gordon/p/11254472.html

时间: 2024-10-03 23:04:53

一个ros包依赖另一个ros包提供的库的相关文章

【JAVA 包依赖关系】日志包log4j依赖

本文解析了打造一个log4j日志框架项目需要的最小的和日志相关的包: commons-logging-xxx.jar log4j-xxx.jar slf4j-api-xxx.jar slf4j-log4j12-xxx.jar 有兴趣的同志可以继续看看下面: Java 目前的开源日志框架主要分为 2层: 1)日志门面 (可以理解为接口) 2)日志框架具体代码(具体实现) 上述4个jar包中 commons-logging-xxx.jar slf4j-api-xxx.jar 分别对应了JCL和slf

工作积累(十)——maven排除相关jar包依赖

在 maven 工程中引用到了一个 jar 包 commons-io-2.4.jar,由于被引用的 jar 包依赖 hibernate-jpa-2.0-api ,而 hibernate-jpa-2.0-api 存在 bug ,会报出 Error: java.lang.NoSuchMethodError:javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey; 或 java.lang.NoSuchMethodEr

编写第一个ROS(创建工作空间workspace和功能包package)

刚接触ROS,学着写了第一个程序,怕以后忘记,就将其步骤记录下来.. 首先你必须保证你电脑已安装配置好ROS. 1.创建工作空间(workspace) 我们所创建功能包package,应该全部放到一个叫做工作空间(workspace)的目录中 .你可以把目录存储在你账号的任何位置例如,我所创建的工作空间的是路径/home,同时你可以用任何你喜欢的名字命名你的工作空间,我的工作空间名为 test,现在请使用标准的mkdir命令行去创建一个工作空间.我首先建立一个工作空间,名字为test, 此处创建

Maven将依赖的所有jar包打成一个jar

有些特殊情况下,需要将多个jar包打包成一个jar文件.如果使用maven可以加入如下插件: <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <!--这里要替换成jar包main方法所在类 --> <mainClass&g

ROS Navigation中的map_server地图包功能和使用

博客参考 http://wiki.ros.org/map_server 和 https://www.ncnynl.com/archives/201708/1897.html 1. 安装map_server sudo apt-get install ros-kinetic-map-server 2. 具体使用说明 map_server使得地图的数据变成 ros 的service 可以被调用.其中以两种方式存储.一个是yaml文件,他存储了数据的元数据.一个是image file   他编码了地图的

编写一个供浏览器端使用的NPM包

此文已由作者吴维伟授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 在编写程序时,总会有一些代码是我们不愿意一遍又一遍重复地去写的,比如一些UI或交互相似组件,或是一些相似的流程或逻辑.以前,面对这样的情况,我会将可以复用的部分抽象出来,做成可以复用的模块,放在专门存放公用模块的文件夹中,便于查找和引用.但是这样只能解决单个项目中公用模块复用的问题,如果你的模块需要被多个项目复用,那么就需要另寻它法了.本文讨论的是通过发布npm包来实现模块复用时有哪些注意事项. 新建一个

一个简单的SOCKET程序的数据包结构和封解包函数

/*练习写套接字通信程序时候写的一段代码,本来想写个聊天室但写来写去进度卡在界面上接节下来都是通信部分的代码 因为只是试验用所以都是用C写的,等界面部分完工后会用类来封装一下 因为本人E文很烂所以变量和函数的命名是具有中国特色的,求理解.不过我注释的很详细了 谨以此文纪念我那坑爹的编程自学生涯......................**/ #include "stdio.h" #include <windows.h> //////////////////////////

多个jar包合并成一个jar包的办法

步骤: 1.将多个JAR包使用压缩软件打开,并将全包名的类拷贝到一个临时目录地下. 2.cmd命令到该临时目录下,此时会有很多.class文件,其中需要带完整包路径 3.执行 jar -cvfM test.jar *.class . 其中 test.jar 为生成目标 jar包 *.class 为需要使用的.class文件 . 表示输出jar包目录为当前路径 4.此时生成的jar包就是多个jar包的合并包了

一个笨方法,获取wireshark抓包中的中文内容

1 抓包,获取16进制流字符串 2 把复制的Hex流,替换为按键精灵代码中的str变量右边的字符串 按键精灵代码,并设置执行快捷键,如f1 Dim str str = "01010000cca4eb17d0b9656464640000ffff00000000485643414d2d4430312d4c533133303230303231000000000000000000000000444d363436375f323030575f4c4954450000000000000000000000000