Clion与ROS2、docker
为了能够在Docker中使用ROS2环境,同时Clion能够在编辑代码时可以有代码提示以及函数、变量跳转等功能
Docker配置
参考:Docker SSH配置
- 启动Docker,需要将端口映射,添加如下参数:
-p 8024:22
:设置端口映射,将tcp22端口转发到8024
- 进入Docker
- 设置 root 账户密码
passwd root
1.输入密码
2.再次输入密码
- 安装openssh
apt update
apt install -y openssh-server
- ssh配置
vim /etc/ssh/sshd_config
Port 22 #开启22端口
PermitRootLogin yes #允许root用户使用ssh登录
RSAAuthentication yes #启用 RSA 认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 #公钥文件路径
- 重新启动ssh服务
service ssh restart
- 验证端口映射
docker port [CONTAINER ID] 22
#输出如下
docker port CONTAINER ID 22
0.0.0.0:8023
Clion配置
- 在
clion
的Toolchains
中添加一个Remote Host
编译
- 在编译命令中,添加
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON -G Ninja
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -G Ninja --packages-up-to xxxxx
加载工程
参考:ROS2 setup tutorial
- 打开工程中的
compile_commands.json
- 点击
Open as project
- 检查工程是否加载成功
- 改变工程的根目录:
Tools | Compilation Database | Change Project Root
to