mkdir /catkin_ws/src cd /catkin_ws/src catkin_init_workspace此时src从文件夹变成了工作空间属性在当前的文件夹中生产了一个新文件CMakeList.txtcd ~/catkin_ws catkin_make对工作空间进行编译工作空间中生成对应的系统结构二、新建功能包在src文件中创建功能包catkin_create_pkg learning_topic roscpp rospy turtlesim geometry_msgscatkin_create_pkg 功能包 依赖将实现的代码放置在功能包的SRC文件夹中如果是C文件需要对应的在cmakelist文件中添加两句编译规则。add_executable(${PROJECT_NAME}_node src/learning_topic_node.cpp) target_link_libraries(${PROJECT_NAME}_node ${catkin_LIBRARIES})对应的将${PROJECT_NAME}_node换成你的节点名字src/learning_topic_node.cpp中src/后面的改为你的程序文件名称。如add_executable(velocity_publisher src/velocity_publisher.cpp)target_link_libraries(velocity_publisher ${catkin_LIBRARIES} )在终端中在工作空间下使用catkin_make对整个工作空间进行编译。之后你的功能包中的源代码就可以进行使用了。
ROS创建工作空间-生成功能包-实现topic
mkdir /catkin_ws/src cd /catkin_ws/src catkin_init_workspace此时src从文件夹变成了工作空间属性在当前的文件夹中生产了一个新文件CMakeList.txtcd ~/catkin_ws catkin_make对工作空间进行编译工作空间中生成对应的系统结构二、新建功能包在src文件中创建功能包catkin_create_pkg learning_topic roscpp rospy turtlesim geometry_msgscatkin_create_pkg 功能包 依赖将实现的代码放置在功能包的SRC文件夹中如果是C文件需要对应的在cmakelist文件中添加两句编译规则。add_executable(${PROJECT_NAME}_node src/learning_topic_node.cpp) target_link_libraries(${PROJECT_NAME}_node ${catkin_LIBRARIES})对应的将${PROJECT_NAME}_node换成你的节点名字src/learning_topic_node.cpp中src/后面的改为你的程序文件名称。如add_executable(velocity_publisher src/velocity_publisher.cpp)target_link_libraries(velocity_publisher ${catkin_LIBRARIES} )在终端中在工作空间下使用catkin_make对整个工作空间进行编译。之后你的功能包中的源代码就可以进行使用了。