Skip to content

Commit

Permalink
Update 导航定位建图程序编译调试经验.md
Browse files Browse the repository at this point in the history
  • Loading branch information
LiZhengXiao99 committed Jan 13, 2025
1 parent 1307067 commit 60a0b08
Showing 1 changed file with 79 additions and 0 deletions.
79 changes: 79 additions & 0 deletions 导航定位建图程序编译调试经验.md
Original file line number Diff line number Diff line change
Expand Up @@ -220,3 +220,82 @@
---
### 23、乱码问题
> * `烫烫烫烫烫烫烫烫烫烫烫`:在C/C++编程环境中,当程序试图读取未初始化的字符数组(比如一个本应存放有效字符串但没有正确赋值的数组),而这些内存区域恰好存放了一些看似无意义的值时,可能会出现连续的“烫”字。这通常是因为这些内存区域中存储的数据在以某种文本编码方式(如ASCII或UTF - 8)解读时,被显示成了“烫”这个字符。这可能暗示着这段内容与程序底层的内存数据错误有关,也许是字符串相关的变量没有正确初始化或者已经被破坏。
> * `□□□□□□□□□□□`:这些方块可能代表无法识别或显示的字符。这有几种可能,一是字体不支持某些特殊字符或符号,导致显示为方块占位;二是数据在传输或存储过程中部分丢失或损坏,使得原本的字符无法正确解析,所以用方块来替代显示。也有可能是加密或编码后的内容,没有使用正确的解密或解码方式,导致无法正常显示。
> * `锟斤拷锟斤拷锟斤拷锟斤`:在文本处理中,这是比较典型的UTF - 8编码错误导致的乱码。当数据在不同编码系统之间转换出现问题,或者文本文件本身的编码格式被破坏时,就可能出现这种情况。比如,一个文本文件原本是用GBK编码保存,在以UTF - 8编码方式读取时,如果没有正确的转换机制,就容易出现“锟斤拷”这样的乱码。这表明内容可能经历了错误的编码转换或者文本文件的完整性受到了影响。
---
### 24、VM + Ubuntu 常见问题
> * **虚拟机与物理机无法进行文本的复制粘贴**:可能是 vm-tools 没安装好,用命令安装一下:
>
> ```
> sudo apt install open-vm-tools-desktop
> ```
>
> 然后重新启动系统再试试。
>
> * **虚拟机无法联网**:
>
> * 如果以前装虚拟机都可以正常联网,现在不行了,可以试试还原网络设置:
> * 虚拟机设置中网络适配器设成NAT模式;
> * 编辑-虚拟网络编辑器中还原默认配置。
> * VMware虚拟机网络连接不上怎么办?帮您逐个排查:https://www.abackup.com/enterprise-backup/vmware-internet-not-working-666.html
>
> * **针对 VM 虚拟机卡顿的一些优化策略**:
>
> * 以管理员身份运行VM;
> * 安装时将虚拟磁盘存储为单个文件;
> * 安装 “Minimal installation” 版的 Ubuntu,其中需要注意的几个点:
> * 创建虚拟机的时候选择”暂不安装系统“;
> * 虚拟机设置中 CD/DVD 设置为下载的 Ubuntu 安装包路径;
> * 打开虚拟机的时候进入 Ubuntu 安装,选择 “Minimal installation”。
> * 改 VM 配置:
> * 编辑-首选项-内存:预留内存调大;
> * 编辑-首选项-优先级:抓取输入内容设为高优先级,勾选调整所有虚拟机内存使其适应预留的主机;
> * 虚拟机设置-硬件:内存设置稍微大一些,CPU不要超过物理机个数,硬盘选择 SSCI,把用不着的的光驱和 USB 连接器删了;
> * 虚拟机设置-选项-高级:抓取输入内容设为高优先级,禁用内存页面修整,不收集调试信息;
> * 虚拟机都是文件形式,最好装在速度快的硬盘里;
> * 虚拟机不用的时候不用关机,选暂停,之后启动的更快。
---
### 26、VSCode 查找插件,报错“Error while fetching extensions.Failed to fetch”
> * 检测系统网络代理和 VSCode 设置的是否一致;
>
> * 可能网络就是无法连接,去 VSCode 的插件市场下载 .vsix 的插件安装程序:
>
> ```
> https://marketplace.visualstudio.com/VSCode
> ```
>
> 如果经常需要在新环境里配置 VSCode,可以把常用的插件都下载到一个文件夹里,直接一次全安装了。
---
### 27、roslaunch 时候报错 “XXX is neither a launch file in package”
> 如果已经安装了对应的功能包,也没有拼写错误,可能是没加载工作空间中的 devel/setup.bash 到环境参数,用 `source` 命令加载:
>
> ```bash
> source devel/setup.bash
> ```
>
> 重新打开了终端就需要重新进行这一步操作,所以通常把设置工作空间环境参数的 source 指令添加到终端程序初始化的脚本 `~/.bashrc`文件中,这样每次打开终端就可以直接用了。
---
### 28、ROS 项目 catkin_make 编译的过程中如果报错“The specified base path "XXX" contains a CMakeLists.txt but "catkin_make" must be invoked in the root of workspace"
> 可以在工作空间根目录执行命令:
>
> ```bash
> unlink ./CMakeLists.txt
> ```
---

0 comments on commit 60a0b08

Please sign in to comment.