广东建设工程注册执业中心网站,百度快照怎么打开,淄博网站建设相关文章,青浦练塘网站建设ubuntu 22.04源码装ros1 noetic 文章目录 ubuntu 22.04源码装ros1 noetic1. 安装依赖2. 更换rosdep相关的rep链接3. 安装 rosdep4. 创建工作空间下载源码并安装5. 编译代码5.1 修复rosconsole* log相关问题**error**5.3 python-sip配置相关5.4 *std::share_mutex* 相关 c11 与c…ubuntu 22.04源码装ros1 noetic 文章目录 ubuntu 22.04源码装ros1 noetic1. 安装依赖2. 更换rosdep相关的rep链接3. 安装 rosdep4. 创建工作空间下载源码并安装5. 编译代码5.1 修复rosconsole* log相关问题**error**5.3 python-sip配置相关5.4 *std::share_mutex* 相关 c11 与c175.5 opencv库的安装5.6 assimp 库安装5.7 ogre库的安装5.8 ogre库中class Vector3 传统问题 6. 安装版 参考链接 https://gist.github.com/Meltwin/fe2c15a5d7e6a8795911907f627255e0
1. 安装依赖
sudo apt-get install python3-rosdep python3-rosinstall-generator python3-vcstools python3-vcstool build-essential
2. 更换rosdep相关的rep链接
参考https://blog.csdn.net/zyh821351004/article/details/135519444?spm1001.2014.3001.5501
mkdir -p ~/.ros/rosdep
cd ~/.ros/rosdep
~/.ros/rosdep$ git clone gitgithub.com:ros/rosdistro.git cat rosdep/sources.list.d/20-default.list
yaml file:///home/robot/.ros/rosdep/rosdistro/rosdep/osx-homebrew.yaml osx# generic
yaml file:///home/robot/.ros/rosdep/rosdistro/rosdep/base.yaml
yaml file:///home/robot/.ros/rosdep/rosdistro/rosdep/python.yaml
yaml file:///home/robot/.ros/rosdep/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/robot/.ros/rosdep/rosdistro/releases/fuerte.yaml fuerte# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list yaml file:///home/robot/.ros/rosdep/rosdistro/rosdep/osx-homebrew.yaml osx# generic
yaml file:///home/robot/.ros/rosdep/rosdistro/rosdep/base.yaml
yaml file:///home/robot/.ros/rosdep/rosdistro/rosdep/python.yaml
yaml file:///home/robot/.ros/rosdep/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/robot/.ros/rosdep/rosdistro/releases/fuerte.yaml fuerte# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
sudo gedit /usr/lib/python3/dist-packages/rosdep2/sources_list.py
#DEFAULT_SOURCES_LIST_URL https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
DEFAULT_SOURCES_LIST_URL file:///home/robot/.ros/rosdep/rosdistro/rosdep/sources.list.d/20-default.listsudo gedit /usr/lib/python3/dist-packages/rosdep2/rep3.py
#REP3_TARGETS_URL https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml
REP3_TARGETS_URL file:///home/robot/.ros/rosdep/rosdistro/releases/targets.yamlsudo gedit /usr/lib/python3/dist-packages/rosdistro/init.py
#DEFAULT_INDEX_URL https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
DEFAULT_INDEX_URL file:///home/robot/.ros/rosdep/rosdistro/index-v4.yamlsudo rm /etc/ros/rosdep/sources.list.d/20-default.list
sudo rosdep init
rosdep update
3. 安装 rosdep
sudo rosdep init
rosdep update4. 创建工作空间下载源码并安装
mkdir ./noetic_ws
cd ./noetic_ws
rosinstall_generator desktop --rosdistro noetic --deps --tar noetic-desktop.rosinstall
mkdir ./src
vcs import --input noetic-desktop.rosinstall ./srcrosdep install --from-paths ./src --ignore-packages-from-source --rosdistro noetic -y等待下载完成 备份打包源码 csdn_下载
noetic-desktop.rosinstall noetic-base.rosinstallnoetic-desktop.rosinstall 737行类似
- tar:local-name: actionlib/actionliburi: https://github.com/ros-gbp/actionlib-release/archive/release/noetic/actionlib/1.14.0-1.tar.gzversion: actionlib-release-release-noetic-actionlib-1.14.0-1
- tar:local-name: anglesuri: https://github.com/ros-gbp/geometry_angles_utils-release/archive/release/noetic/angles/1.9.13-1.tar.gzversion: geometry_angles_utils-release-release-noetic-angles-1.9.13-1/opt/ros/noetic_ws/src$ ls
actionlib metapackages rqt_moveit
angles navigation_msgs rqt_msg
bond_core nodelet_core rqt_nav_view
catkin pluginlib rqt_plot
class_loader python_qt_binding rqt_pose_view
cmake_modules qt_gui_core rqt_publisher
common_msgs qwt_dependency rqt_py_console
common_tutorials resource_retriever rqt_reconfigure
control_msgs robot_state_publisher rqt_robot_dashboard
diagnostics ros rqt_robot_monitor
dynamic_reconfigure rosbag_migration_rule rqt_robot_plugins
executive_smach ros_comm rqt_robot_steering
filters ros_comm_msgs rqt_runtime_monitor
gencpp rosconsole rqt_rviz
geneus rosconsole_bridge rqt_service_caller
genlisp roscpp_core rqt_shell
genmsg ros_environment rqt_srv
gennodejs roslint rqt_tf_tree
genpy roslisp rqt_top
geometry rospack rqt_topic
geometry2 ros_tutorials rqt_web
geometry_tutorials rqt rviz
gl_dependency rqt_action std_msgs
image_common rqt_bag urdf
interactive_markers rqt_common_plugins urdf_tutorial
joint_state_publisher rqt_console vision_opencv
kdl_parser rqt_dep visualization_tutorials
laser_geometry rqt_graph webkit_dependency
media_export rqt_image_view xacro
message_generation rqt_launch
message_runtime rqt_logger_level
5. 编译代码
./src/catkin/bin/catkin_make_isolated -DCMAKE_BUILD_TYPERelease会遇到一些列报错
5.1 修复rosconsole* log相关问题error
用rosconsole_log4cxx.cpp里面的代码全部替换源代码src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp
替代rosconsole_log4cxx.cpp https://gist.github.com/kintzhao/3947142d3161e11e5a0c326b79e9ebdb### 5.2 qt5库相关的安装
sudo apt install libqt5widgets5 qtcreator qtbase5-dev qt5-qmake cmake5.3 python-sip配置相关
sudo apt install sip-dev python3-sip-dev python3-pyqt5.sip
sudo apt install python3-pyqt5.sip python3-pyqt5 pyqt5-dev 5.4 std::share_mutex 相关 c11 与c17
下载 change_cpp.py 文件到ws路径下change_cpp.py
import os
from colorama import Fore, StyleWANTED_WIDTH 100
DISPLAY_WIDTH min(WANTED_WIDTH, os.get_terminal_size().columns - 2)
print(┏ .center(DISPLAY_WIDTH, ━) ┓)
print(f┃{Fore.RED} CMakeLists to C17 Utils.center(DISPLAY_WIDTH, ) f{Style.RESET_ALL}┃)
print(f┃{Style.BRIGHT Fore.BLACK} Meltwin - 2023.center(DISPLAY_WIDTH, ) f{Style.RESET_ALL}┃)
print(┗ .center(DISPLAY_WIDTH, ━) ┛)
print()REPLACE_FILTER {-stdc11:-stdc17,COMPILER_SUPPORTS_CXX11: COMPILER_SUPPORTS_CXX17,CMAKE_CXX_STANDARD 11: CMAKE_CXX_STANDARD 17,CMAKE_CXX_STANDARD 14: CMAKE_CXX_STANDARD 17
}def fix_cmakelist(cmakelist_path: str) - None:print(f{Fore.YELLOW}▷ {Fore.RESET}Found {Fore.RED}{cmakelist_path}{Fore.RESET}, end )with open(cmakelist_path, r) as handle:data handle.read()# Replacingchanged Falsefor key, value in REPLACE_FILTER.items():if data.find(key) ! -1:data data.replace(key, value)changed Trueif changed:with open(cmakelist_path, w) as handle:handle.write(data)print(f{Fore.GREEN}Fixed ! if changed else f{Fore.BLUE}Nothing to change)def walk_dir(dir: str, depth 0) - None:if depth 2:returnfor d in os.listdir(dir):cmakelist_path f{dir}/{d}/CMakeLists.txtif not os.path.isfile(cmakelist_path):walk_dir(f{dir}/{d}, depth1)else :fix_cmakelist(cmakelist_path)if __name__ __main__:# Get all the CMakeLists.txtwalk_dir(./src)将当前src目录下工程cmake中c17方式的调整为c11 python3 change_cpp.py5.5 opencv库的安装 sudo apt install libopencv-dev5.6 assimp 库安装 sudo apt install libassimp-dev python3-pyassimp5.7 ogre库的安装
sudo apt install libogre-1.12-dev
sudo apt install libogre1.12.105.8 ogre库中class Vector3 传统问题
注释掉文件plant_flag_tool.h imu_visual.h 中的class Vector3 定义
gedit /opt/ros/noetic_ws/src/visualization_tutorials/rviz_plugin_tutorials/src/plant_flag_tool.hnamespace Ogre
{
class SceneNode;
//class Vector3;
}
gedit /opt/ros/noetic_ws/src/visualization_tutorials/rviz_plugin_tutorials/src/imu_visual.hnamespace Ogre
{
//class Vector3;
class Quaternion;
}编译基本就可以通过了一共184个包 Finished processing package [184 of 184]: xacro
6. 安装版
当前路径安装 或 指定路径安装
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPEReleasesudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPERelease --install-space /opt/ros/noetic