ros项目编译笔记(test_ws)

省流直接看黑体加粗

参考链接:解决Linux系统下,“/usr/bin/ld: 找不到 -lXXX”问题_-lxxf86vm-优快云博客

笨办法, 每次用 sudo apt-get install 安装 ros 有关的东西后, 都手动把这些Lib 文件复制到系统一定会访问的 /usr/lib:

sudo cp /opt/ros/kinetic/lib/lib* /usr/lib/

参考链接:(已解决) ROS kinetic报错: lib***: cannot open shared object file: No such file or directory_ros cannot open shared object file: no such file o-优快云博客


使用上述命令后出现

从你的命令和错误信息来看,问题仍然集中在符号链接和目录的处理上。以下是详细分析和解决方法:

---

### 问题分析
1. **符号链接问题**  
   错误信息:
   ```
   cp: 无法通过符号链接'/usr/lib/libecl_devices.so' 进行操作
   cp: 无法通过符号链接'/usr/lib/libecl_mobile_robot.so' 进行操作
   ```
   - 这些错误表明 `/usr/lib/libecl_devices.so` 和 `/usr/lib/libecl_mobile_robot.so` 是符号链接。
   - 当你使用 `cp -L` 时,`cp` 会尝试跟随符号链接并复制实际文件,但如果目标路径(`/usr/lib/`)中已经存在同名符号链接,`cp` 会尝试覆盖它们,但由于符号链接的特殊性,可能会导致操作失败。

2. **目录问题**  
   错误信息:
   ```
   cp: 未指定 -r;略过目录'/opt/ros/noetic/lib/librviz_tutorial'
   ```
   - `/opt/ros/noetic/lib/librviz_tutorial` 是一个目录,而 `cp` 默认不会复制目录,除非使用 `-r` 选项。

---

### 解决方法

#### 1. 处理符号链接
如果你希望覆盖 `/usr/lib/` 中的符号链接并复制实际文件,可以尝试以下方法:

- **删除目标路径中的符号链接**  
  在执行 `cp` 之前,先删除 `/usr/lib/` 中的符号链接:
  ```bash
  sudo rm /usr/lib/libecl_devices.so /usr/lib/libecl_mobile_robot.so
  ```
  然后重新运行 `cp` 命令:
  ```bash
  sudo cp -L /opt/ros/noetic/lib/lib* /usr/lib/
  ```

- **强制覆盖符号链接**  
  如果目标路径中存在符号链接,`cp` 默认会报错。你可以使用 `-f` 选项强制覆盖:
  ```bash
  sudo cp -Lf /opt/ros/noetic/lib/lib* /usr/lib/
  ```

#### 2. 处理目录
如果你希望复制 `/opt/ros/noetic/lib/librviz_tutorial` 目录及其内容,需要在 `cp` 命令中添加 `-r` 选项:
```bash
sudo cp -rL /opt/ros/noetic/lib/librviz_tutorial /usr/lib/
```

---

### 综合命令
如果你希望一次性解决符号链接和目录的问题,可以使用以下命令:
```bash
sudo cp -rLf /opt/ros/noetic/lib/lib* /usr/lib/
```
- `-r`:递归复制目录。
- `-L`:跟随符号链接并复制实际文件。
- `-f`:强制覆盖目标路径中的文件或符号链接。

---

### 注意事项
1. **备份数据**  
   在执行覆盖操作之前,建议备份 `/usr/lib/` 中的重要文件,以防意外丢失数据。

2. **检查符号链接**  
   如果你不确定符号链接的指向,可以使用 `ls -l` 检查:
   ```bash
   ls -l /usr/lib/libecl_devices.so
   ls -l /usr/lib/libecl_mobile_robot.so
   ```

3. **权限问题**  
   如果 `/usr/lib/` 中的文件或符号链接受保护,可能需要使用 `sudo` 提升权限。

---

通过以上方法,你应该能够成功复制文件并解决符号链接和目录的问题。如果还有其他问题,请随时告诉我!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值