在终端显示没有:/catkin_ws/devel/setup.bash的目录解决办法

本文介绍如何在~/.bashrc文件中正确配置source ~/catkin_ws/devel/setup.bash命令,以避免重复配置带来的问题,并提供两种实用的方法来解决这一问题。

$gedit ~/.bashrc  #在终端中输入该命令,会进入一个文件

文件打开后直接翻到最后面可以找到

source ~/catkin_ws/devel/setup.bash

将一些重复多余的配置删除就可以了

或者终端输入:$ echo "source ~/catkin_ws/devel/setup.bash">>~/.bashrc

在ROS(Robot Operating System)中,使用`catkin`构建工作空间时,终端输出的信息对于确认构建过程是否成功、是否存在警告或错误至关重要。以下是对`catkin_make`或`catkin build`命令执行过程中常见输出的解释: ### 构建输出的关键部分 1. **开始构建信息** 构建过程通常以清理旧的构建文件和生成新的构建目录开始。例如: ``` Base path: /home/user/catkin_ws Source space: /home/user/catkin_ws/src Build space: /home/user/catkin_ws/build Devel space: /home/user/catkin_ws/devel Install space: /home/user/catkin_ws/install ``` 这部分信息显示了工作空间的结构和路径,帮助确认构建环境是否正确设置。 2. **检测到的包** `catkin`会扫描`src`目录下的所有ROS包,并列出它们的名称。例如: ``` #### #### Running command: "cmake /home/user/catkin_ws/src -DCATKIN_DEVEL_PREFIX=/home/user/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/user/catkin_ws/install" in "/home/user/catkin_ws/build" #### -- The C compiler identification is GNU 9.3.0 -- The CXX compiler identification is GNU 9.3.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Using CATKIN_DEVEL_PREFIX: /home/user/catkin_ws/devel -- Using CMAKE_PREFIX_PATH: /opt/ros/noetic -- Found PythonInterp: /usr/bin/python3 (found version "3.8.10") -- Using PYTHON_EXECUTABLE: /usr/bin/python3 -- Using Debian Python package layout -- Using empy: /usr/bin/empy -- Using CATKIN_ENABLE_TESTING: OFF -- Skip enable_testing() for non-test package -- Using CATKIN_SKIP_TESTING: ON -- Using CATKIN_SHELL: bash -- catkin 0.8.10 -- BUILD_SHARED_LIBS is ON -- Configuring done -- Generating done -- Build files have been written to: /home/user/catkin_ws/build ``` 这部分信息表明CMake正在配置构建环境,并检测系统中的编译器和其他依赖项。 3. **编译过程** 编译过程中会显示每个包的编译状态。例如: ``` Scanning dependencies of target my_package [ 0%] Built target std_msgs_generate_messages_py [ 0%] Built target std_msgs_generate_messages_lisp [ 0%] Built target std_msgs_generate_messages_cpp [ 0%] Built target std_msgs_generate_messages_eus [ 0%] Built target std_msgs_generate_messages_nodejs [ 0%] Built target std_msgs_generate_messages_java [ 0%] Built target _my_package_generate_messages_check_deps_MyMessage [ 0%] Built target geometry_msgs_generate_messages_py [ 0%] Built target geometry_msgs_generate_messages_lisp [ 0%] Built target geometry_msgs_generate_messages_cpp [ 0%] Built target geometry_msgs_generate_messages_eus [ 0%] Built target geometry_msgs_generate_messages_nodejs [ 0%] Built target geometry_msgs_generate_messages_java [ 0%] Built target sensor_msgs_generate_messages_py [ 0%] Built target sensor_msgs_generate_messages_lisp [ 0%] Built target sensor_msgs_generate_messages_cpp [ 0%] Built target sensor_msgs_generate_messages_eus [ 0%] Built target sensor_msgs_generate_messages_nodejs [ 0%] Built target sensor_msgs_generate_messages_java [ 0%] Built target nav_msgs_generate_messages_py [ 0%] Built target nav_msgs_generate_messages_lisp [ 0%] Built target nav_msgs_generate_messages_cpp [ 0%] Built target nav_msgs_generate_messages_eus [ 0%] Built target nav_msgs_generate_messages_nodejs [ 0%] Built target nav_msgs_generate_messages_java [ 0%] Built target my_package_gencfg [ 0%] Built target my_package_generate_messages_py [ 0%] Built target my_package_generate_messages_lisp [ 0%] Built target my_package_generate_messages_cpp [ 0%] Built target my_package_generate_messages_eus [ 0%] Built target my_package_generate_messages_nodejs [ 0%] Built target my_package_generate_messages_java [ 0%] Building CXX object my_package/CMakeFiles/my_package.dir/src/my_node.cpp.o [ 0%] Built target my_package_node ``` 这些信息显示了每个目标文件的编译进度。如果编译成功,通常不会出现错误信息,且最后会显示“Built target”字样。 4. **链接过程** 编译完成后,`catkin`会将目标文件链接成可执行文件或库。例如: ``` [100%] Linking CXX executable /home/user/catkin_ws/devel/lib/my_package/my_node [100%] Built target my_package_node ``` 如果链接成功,会显示“Built target”字样,表示该目标已成功构建。 5. **安装过程(可选)** 如果使用了`--install`选项,`catkin`会将构建好的文件安装到指定的安装目录。例如: ``` Install the project... -- Install configuration: "Release" -- Installing: /home/user/catkin_ws/install/share/my_package/cmake/my_packageConfig.cmake -- Installing: /home/user/catkin_ws/install/share/my_package/cmake/my_packageConfigVersion.cmake -- Installing: /home/user/catkin_ws/install/share/my_package/package.xml -- Installing: /home/user/catkin_ws/install/include/my_package/my_header.h -- Installing: /home/user/catkin_ws/install/lib/libmy_package.so -- Installing: /home/user/catkin_ws/install/lib/my_package/my_node ``` 这部分信息表明文件已被正确安装到指定路径。 6. **构建成功标志** 如果整个构建过程顺利完成,终端显示类似以下的信息: ``` #### #### Running command: "make install" in "/home/user/catkin_ws/build" #### [100%] Built target my_package_node Install the project... -- Install configuration: "Release" -- Installing: /home/user/catkin_ws/install/share/my_package/cmake/my_packageConfig.cmake -- Installing: /home/user/catkin_ws/install/share/my_package/cmake/my_packageConfigVersion.cmake -- Installing: /home/user/catkin_ws/install/share/my_package/package.xml -- Installing: /home/user/catkin_ws/install/include/my_package/my_header.h -- Installing: /home/user/catkin_ws/install/lib/libmy_package.so -- Installing: /home/user/catkin_ws/install/lib/my_package/my_node ``` 如果没有出现任何错误或警告,且最终显示“Built target”,则表示构建成功。 7. **常见错误信息** 如果构建过程中出现错误,终端显示类似以下的信息: ``` [ 0%] Building CXX object my_package/CMakeFiles/my_package.dir/src/my_node.cpp.o /home/user/catkin_ws/src/my_package/src/my_node.cpp: In function ‘int main(int, char**)’: /home/user/catkin_ws/src/my_package/src/my_node.cpp:10: error: ‘ros’ has not been declared ros::init(argc, argv, "my_node"); ^~~ /home/user/catkin_ws/src/my_package/src/my_node.cpp:11: error: ‘ros’ has not been declared ros::NodeHandle nh; ^~~ make[2]: *** [my_package/CMakeFiles/my_package.dir/src/my_node.cpp.o] Error 1 make[1]: *** [my_package/CMakeFiles/my_package.dir/all] Error 2 make: *** [all] Error 2 ``` 这类信息表明编译器在某个文件中发现了错误,通常需要检查代码中的语法或逻辑问题。此外,还可能遇到依赖项缺失、路径错误等问题。 8. **构建成功后的操作** 如果构建成功,可以通过以下命令启动ROS节点: ```bash source devel/setup.bash rosrun my_package my_node ``` 这将加载构建好的可执行文件并运行相应的ROS节点。 --- ###
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值