本节点从其他地方拷贝得来:
- 配置问题
当我们不在bashrc当中配置环境变量的时候,需要手动source 才可以,比如这里的
?
source devel/setup.bash
?
?
- 编译Node ,出错。 Deny xxxxx。 没有权限。怎么办?
?
?
- 怎么办?
切换用户, sudo –i ,然后输入密码即可。
需要注意的就是,每切换一个用户,环境变量都需要重新配。因为不同用户拥有的文件是不一样的。所以环境变量又需要重新配置一次,或者直接把环境变量写在
脚本下面,比如xxx.bash当中,每次切换用户直接 source xxxx.bash 即可。
当然,我们仅有一个用户时,把环境变量配置在 ~/.bashrc 当中可能更靠谱一点。
?
?
还有就是程序包的结构问题:
?
Ls -R 可以列出所有的文件的层级结构。一般说来,一个工作空间当中有bulid devel src 这样的结构,所有的节点都包含在src 下面。里面会有若干个 节点文件,src 下面会有
CmakeLists.txt文件,这个文件一般标识有多少个节点在此目录下面。对于每一个节点,它里面也有同样的结构。其中CmakeLists.txt里面有依赖关系。需要自己手动添加。
?
在工作空间目录下面的 devel 目录当中,include 下面包含着 头文件,lib 下面有本节点生成的exe文件,和catkin_make 命令之后生成的.so 库文件。
这里的.so 就和VS里面的.lib是一样的概念。
?
- 当上面的环境配置好以后,我们就可以进行编译了。
?
首先,先运行roscore, 假如发现无此命令错误的话,一定是由于环境变量配置错误导致的。
新建一个terminal,之前的terminal 不用动,直接放在那即可,或者把之前的终端放入后台执行也可以。 Ctrl + Z.. 或者 bg + PTS名字。
?
然后,运行catkin_make ,进行编译。假如有错误的话,进行定位,有可能是Cmake.txt错误,也有可能是程序的错误。
还有一点需要注意的是,source + xxx.bash只在当前窗口中有效。有些时候,可能需要打开当前终端,进行再打开其他终端。
?
?
?
注意一点:在导航解析的时候,遇到末尾的几个字符后,我要做的其实是清0.目前程序里面好像么有做。以后加上。