问题1:
contains a package but "catkin_make" must be invoked in the root of workspace
这里借鉴一下思路:记录两个ROS工程编译时候的问题_catkin_make" must be invoked in the root of worksp-CSDN博客
一个workspace下面可以有多个package,但是workspace有自己组织package的方式。每一个package都是workspace当中的代码包,应该存放在src下面。组织结构如下所示:
|---workspace
| |---src
| |---package_1
| |---CMakeLists.txt
| |---src
| |---xxx.cpp
|---package_2
...
|
| |---package_n
编译后的架构:
|---workspace
| |---build
| |---devel
| |---src
| |---package_1
| |---CMakeLists.txt
| |---src
| |---xxx.cpp
|---package_2
...
|
| |---package_n
问题解决:
我的压缩包解压以后全部文件都在文件夹里:
在上一级新建一个src目录,把文件移动过去
cd ~/allan_variance_ros-master
sudo mkdir src1
sudo mv build/ config/ -t src1/ ##(-t 前是要移动的文件(夹),自行添加)
cd ~/allan_variance_ros-master
sudo mv src1/ src/ ##改新建文件夹的一下名字,完成
组织工程后,在workspace下(这里是allan_variance_ros-master文件夹下)直接使用命令编译--成功。
编译后
多出了build、devel、logs。
最后更新一下工作空间的ros环境,setup文件在devel文件夹下(我这里是用.bash格式):
问题2:
Symlinking ~Could not create symlink~OSError: [Errno 95] Operation not supported:
编译文件在windows和linux的共享文件夹,我是在win下解压的压缩包,catkin build 出错,看到别人说有可能是win系统的原因不支持。
解决:
linux中 cp /fzh-.zip ~/fzh/ fzh-.zip
unzip命令解压
编译----成功。
问题3:
[rospack] Error: package 'allan_variance_ros' not found
检查:
1.功能包的名称是否有误
2.指定的工作空间中确实找不到该功能包
3.功能包名称正确,也在工作空间中,但是该工作空间没有在ros环境中,执行以下命令(setup文件在工作空间的devel文件夹下)
问题解决。