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

相关内容

热门资讯

专业师傅教你“欢聚茶室到底有挂... 欢聚茶室辅助是一款专注玩家量身打造的游戏记牌类型软件,在皮皮胡子辅助这款游戏中我们可以记录下每张牌的...
专业师傅教你“新百道到底有挂吗... 专业师傅教你“新百道到底有挂吗?其实是有挂(揭秘手机上必赢技巧)1、让任何用户在无需AI插件第三方神...
专业师傅教你“奕福麻将到底有挂... 现在人们打麻将谁不想赢?但是手机麻将是这么好赢的吗?在手机上打麻将想赢,不仅需要运气,也需要技巧。掌...
专业师傅教你“丁丁麻将到底有挂... 现在人们打麻将谁不想赢?但是手机麻将是这么好赢的吗?在手机上打麻将想赢,不仅需要运气,也需要技巧。掌...
专业师傅教你“乐易四川麻将到底... 专业师傅教你“乐易四川麻将到底有挂吗?其实是有挂(揭秘手机上必赢技巧)是一款可以让一直输的玩家,快速...
专业师傅教你“万盛竞技到底有挂... 自定义万盛竞技系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你是想分...
专业师傅教你“好友跑得快到底有... 自定义好友跑得快系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你是想...
专业师傅教你“波特互娱到底有挂... 自定义波特互娱系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你是想分...
专业师傅教你“喜乐川南棋牌到底... 喜乐川南棋牌辅助是一款专注玩家量身打造的游戏记牌类型软件,在皮皮胡子辅助这款游戏中我们可以记录下每张...
专业师傅教你“多乐山东麻将到底... 多乐山东麻将辅助是一款专注玩家量身打造的游戏记牌类型软件,在皮皮胡子辅助这款游戏中我们可以记录下每张...
专业师傅教你“金花互娱到底有挂... 金花互娱辅助是一款专注玩家量身打造的游戏记牌类型软件,在皮皮胡子辅助这款游戏中我们可以记录下每张牌的...
专业师傅教你“掌上风云到底有挂... 现在人们打麻将谁不想赢?但是手机麻将是这么好赢的吗?在手机上打麻将想赢,不仅需要运气,也需要技巧。掌...
专业师傅教你“南通长牌到底有挂... 专业师傅教你“南通长牌到底有挂吗?其实是有挂(揭秘手机上必赢技巧)1、让任何用户在无需AI插件第三方...
专业师傅教你“纸蛙盐城麻将到底... 您好,纸蛙盐城麻将这款游戏可以开挂的,确实是有挂的,需要了解{请加QQ群客服咨询:107507578...
专业师傅教你“小小艺术家到底有... 专业师傅教你“小小艺术家到底有挂吗?其实是有挂(揭秘手机上必赢技巧)一、小小艺术家AI软件牌型概率发...
专业师傅教你“乐伴到底有挂吗?... 亲,乐伴这款游戏可以开挂的,确实是有挂的,。但是开挂要下载第三方辅助软件,乐伴的开挂软件,名称叫乐伴...
专业师傅教你“心悦麻将到底有挂... 专业师傅教你“心悦麻将到底有挂吗?其实是有挂(揭秘手机上必赢技巧)1、让任何用户在无需AI插件第三方...
专业师傅教你“福建十三道到底有... 您好:福建十三道确实真的有挂,软件请加QQ群客服咨询:1075075785确实是有挂的,很多玩家在这...
专业师傅教你“启航竞技到底有挂... 现在人们打麻将谁不想赢?但是手机麻将是这么好赢的吗?在手机上打麻将想赢,不仅需要运气,也需要技巧。掌...
专业师傅教你“南门口到底有挂吗... 专业师傅教你“南门口到底有挂吗?其实是有挂(揭秘手机上必赢技巧)1、让任何用户在无需AI插件第三方神...