catkin_make文件更新经验
admin
2024-01-30 01:45:04
0

先列出文件树
└── smartcar_description
├── CMakeLists.txt
├── config
│ ├── arm_controller_ur5.yaml
│ ├── joint_state_controller.yaml
│ └── myrviz.rviz
├── launch
│ ├── base.urdf.rviz.launch
│ ├── controller_utils.launch
│ └── scout_with_laser_gazebo.launch
├── meshes
│ ├── base_link.dae
│ ├── base_link_full.dae
│ ├── base_link.stl
│ ├── hokuyo.dae
│ ├── ur5
│ │ ├── collision
│ │ │ ├── base.stl
│ │ │ ├── forearm.stl
│ │ │ ├── shoulder.stl
│ │ │ ├── upperarm.stl
│ │ │ ├── wrist1.stl
│ │ │ ├── wrist2.stl
│ │ │ └── wrist3.stl
│ │ └── visual
│ │ ├── base.dae
│ │ ├── forearm.dae
│ │ ├── shoulder.dae
│ │ ├── upperarm.dae
│ │ ├── wrist1.dae
│ │ ├── wrist2.dae
│ │ └── wrist3.dae
│ ├── wheel_type1.dae
│ ├── wheel_type1.stl
│ ├── wheel_type2.dae
│ └── wheel_type2.stl
├── package.xml
├── pubjointstate.cpp
├── sendposition.py
├── urdf
│ ├── empty.urdf
│ ├── rplidar.xacro
│ ├── scout_v2.gazebo
│ ├── scout_v2.xacro
│ ├── scout_wheel.gazebo
│ ├── scout_wheel_type1.xacro
│ ├── scout_wheel_type2.xacro
│ ├── smartcar_with_rplidar.urdf
│ ├── smartcar_with_rplidar.xacro
│ ├── ur5_robot.urdf
│ ├── ur5.urdf.xacro
│ ├── ur.gazebo.xacro
│ ├── ur.transmission.xacro
│ └── useless.txt
└── worlds
├── cloister.world
├── playground.world
├── playpen.world
└── room.world
自己在调试ros通信的过程中写了一个消息发布的cpp文件,因为cmakelists文件中没有写关于c++和消息发布的东西,所以直接rosrun是不行的(这一点和Python写的文件,勾选可以作为可执行文件之后能直接用 完全不一样)。于是修改cmakelist文件。
一开始是按照古月的书中写的添加了三行

add_executable(pubjointstate src/pubjointstate.cpp)add_dependencies(pubjointstate ${PROJECT_NAME}_generate_messages_cpp) target_link_libraries(pubjointstate ${catkin_LIBRARIES} )

但是编译报错。找不到cpp文件。一开始以为是路径没写全,于是改了“src/medical_robot/smartcar_description/pubjointstate.cpp”,但依然报错

Cannot find source file: src/medical_robot/smartcar_description/pubjointstate.cpp

思考了下,可能是这里的路径是跟cmakelist相对的,也就是说,以cmakelist所在的这一层为根,把往下的几层目录列出来即可。
可以从文件树中看出,我的pubjointstate.cpp是跟cmakelist在一层,所以直接写

add_executable(pubjointstate pubjointstate.cpp)add_dependencies(pubjointstate ${PROJECT_NAME}_generate_messages_cpp) target_link_libraries(pubjointstate ${catkin_LIBRARIES} )

之后有报错

The dependency target "smartcar_description_generate_messages_cpp" oftarget "pubjointstate" does not exist.

于是对照古月的github文件中的cmakelists文件
发现少了下面这个部分

## Find catkin macros and libraries
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
## is used, also find other catkin packages
find_package(catkin REQUIRED COMPONENTSurdfxacrogeometry_msgsroscpprospystd_msgsmessage_generation
)## Generate added messages and services with any dependencies listed here
generate_messages(DEPENDENCIESstd_msgs  # Or other packages containing msgs
)

添加之后,编译通过了。。。。

里面有个警告:

 Invoking generate_messages() without having added any message or servicefile before.You should either add add_message_files() and/or add_service_files() callsor remove the invocation of generate_messages().
Call Stack (most recent call first):

虽然暂时没影响,但可以参考这个帖子。
https://blog.csdn.net/qq_16775293/article/details/80449203

相关内容

热门资讯

圣经软件怎么安装安卓系统,圣经... 如何在安卓设备上安装圣经软件——一步步指南在数字化时代,智能手机已成为我们生活中不可或缺的一部分。而...
锤子科技系统基于安卓吗,基于安... 你有没有听说过锤子科技呢?这家公司可是近年来在手机市场上掀起了一股风潮。不过,最近有个问题让我好奇心...
什么看手机是安卓系统,如何一眼... 你有没有发现,现在身边的朋友几乎人手一部智能手机,而且大家用的手机系统五花八门,有苹果的iOS,有微...
手机安卓11系统怎么刷10系统... 你有没有发现,你的安卓手机最近有点儿卡呢?别急,别急,让我来告诉你怎么给你的手机来个“大变身”,从安...
ios系统和安卓系统哪个更流畅... 你有没有想过,为什么你的手机有时候像蜗牛一样慢吞吞的,而别人的手机却能像闪电一样快?这背后,其实隐藏...
安卓系统软件怎么授信,轻松实现... 你有没有遇到过这种情况:手机里装了好多好用的安卓系统软件,但是有些功能却因为没授信而无法使用。别急,...
高尔夫7中控安卓系统,智能驾驶... 你有没有注意到,最近的高尔夫7中控系统可是大变样了呢?没错,就是那个我们平时开车时离不开的小屏幕,现...
苹果系统和安卓系统app通用么... 你有没有想过,为什么你的手机里既有苹果系统的应用,也有安卓系统的应用呢?是不是觉得这两种系统的应用可...
目前有几款安卓系统,功能与特色... 你知道吗?现在手机市场上安卓系统可是百花齐放,各种版本层出不穷。咱们今天就一起来数一数,目前市面上都...
安卓系统删除滑动解锁,揭秘安卓... 手机解锁,这个看似简单的小动作,却常常让不少安卓用户头疼不已。有时候,你可能会因为不小心设置了滑动解...
安卓OS系统不能联网,无网络连... 最近是不是发现你的安卓手机突然不能联网了?别急,别慌,让我来给你详细解析一下这个问题,让你轻松解决烦...
ios系统装进安卓手机,iOS... 你有没有想过,把苹果的iOS系统装进安卓手机里,会是怎样的奇妙体验呢?想象你的安卓手机瞬间拥有了iP...
安卓如何切换手机系统,轻松实现... 你有没有想过,你的安卓手机系统是不是有点儿“老气横秋”了呢?想要给它来个“换脸术”,让它焕发青春活力...
安卓系统和windows系统比... 你有没有想过,为什么安卓系统和Windows系统这么受欢迎呢?它们各有各的特色,就像两个截然不同的英...
安卓机怎样系统越狱,个性化定制... 亲爱的安卓手机用户,你是否曾想过给你的手机来一次“大变身”?没错,我要说的是——安卓机怎样系统越狱!...
安卓5对系统优化程度,安卓5系... 你有没有发现,自从你的安卓手机升级到5.0之后,感觉整个手机都变得不一样了呢?是不是觉得系统运行得更...
给pc平板安装安卓系统,PC平... 你有没有想过,你的PC平板其实可以变身成安卓小怪兽呢?没错,就是那个你手机上熟悉的安卓系统,现在也能...
pc玩安卓的系统,无缝体验与无... 你有没有想过,在PC上玩安卓游戏或者应用,是不是感觉有点像是在玩一场穿越时空的冒险呢?想象你坐在电脑...
安卓如何更换爱酷系统,轻松更换... 你有没有发现,你的安卓手机用久了,界面有点儿审美疲劳了呢?别急,今天就来教你怎么给爱酷系统来个华丽变...
安卓系统recycle在哪儿,... 你有没有遇到过手机内存不够用的时候,看着那些占空间的应用和数据,是不是有点头疼?别急,今天就来告诉你...