ROS学习笔记14--C++编写源文件,生成node的一些问题解决经验总结

环境 Ubuntu16.04 ros-kinetic vs-code

关于C++编写在vs-code编写时候没有出现语法错误,而在终端编译时通过不了,或者说编译也通过过了,写launch文件确实调用不了源文件定义的node时可能尝试的解决手段:
打开我们创建源文件的那个包里面的两个文件:

(1)cmakelist.txt

1). project(imu) 告诉编译器咱们这个自定义包叫imu

2). cs_add_library(imu src/ P R O J E C T N A M E / i m u . c p p ) 告 诉 编 译 器 , 我 们 创 建 一 个 自 定 义 的 库 i m u , 并 且 该 库 的 使 用 s r c / {PROJECT_NAME}/imu.cpp ) 告诉编译器,我们创建一个自定义的库imu ,并且该库的使用src/ PROJECTNAME/imu.cpp),imu,使src/{PROJECT_NAME}/imu.cpp生成的.这里的$里面还不是很清楚到底指的是本创建的包还是其他的包.

3). cs_add_executable(imu src/imu.cpp) 告诉编译器,我们依据包内src/imu.cpp创建了名称为imu的node

4). target_link_libraries(imu xxx-cpp) 告诉编译器,我们这个imu的node创建依赖xxx-cpp库函数的

(2)Package.xml

build_depend/run_depend 标签内放置的是这个包的依赖库,不过做ros开发时候,一般放的是ros官方认证的库,如tf/std_msgs等等库

下面是按照上面的大体流程修改的cmakelist.txt与package,并编译并可以启动的node:
/home/web00/Pictures/14.png
当编译通过了,出现过roscore启动错误,说网络没有配置好(所有的roslaunch指令都不能用了,之前没出现过).然后在bashrc文件里面export ROS_HOSTNAME标签重新换了一个ip,这个是ifcofig指令出来的其中一个ip啥的,具体原因不清楚,如果有哪位大神知道麻烦告知一下,写了.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值