Ros集成开发环境配置
参考资料:
http://blog.csdn.net/yangziluomu/article/details/50848357 ROS使用IDE Eclipse
http://blog.csdn.net/anzhu_111/article/details/5946634
如何在Ubuntu中使用Eclipse + CDT开发C/C++程序
http://www.cnblogs.com/lidabo/p/3808464.html
linux下c++开发环境安装(eclipse+cdt)
http://wiki.ros.org/IDEs#Reusing_your_shell.27s_environment ros-官网IDEs开发
http://archive.eclipse.org/eclipse/downloads/drops4/R-4.2.2-201302041200/linPlatform.php#EclipseSDK EclipseSDK下载
不多介绍,直接进入正题。
- 安装Eclipse 环境
参考资料: http://blog.csdn.net/yangziluomu/article/details/50820050
请下载对应版本的Eclipse,根据您的系统来定,这里Eclipse下载的是SDK不是什么开发版本。地址上面有写,这里不介绍。
下面显示的是 3.8。不过,个人下载的是下面这个,64位版本。
JDK 等环境变量可以写入 ~/.bashrc,这样就是永久生效了。
从上面可以看出,我是把环境变量写入 root 用户里面的 .bashrc当中的。但是在子用户当中依然有效。
但是有时候,子用户设置的东西,在root用户里面未必有效,这点可以记录一下。
对于Eclipse的配置,严格按照博客当中的配置就行。
- 安装CDT
CDT是什么东西?CDT是让你可以在Eclipse当中可以开发C/C++项目工具箱 (C/C++ Development Tooling)。
此项安装最简单了,最好是在root用户下,进行安装, sudo apt-get install CDT 。这样安装啥都搞定了,会自己默认寻找Eclipse目录。
不用自己搞,当然关于Eclipse也可以安装 apt-get方式进行安装,只不过安装的版本较低。不过也是可以的。
- 编写ROS包,进行测试
1)建立工作目录 mkdir catkin_ws
2)在工作目录下建立 src 文件夹。 mkdir src
3)切到src 目录下,我们开始建立包。 catkin_create_pkg hello rospy roscpp std_msgs 后面的东东都是依赖项。
4)切到hello 包目录下,此时会多几个文件,切到src目录下,建立自己的程序。也就是节点程序,开始写你的代码就行。
比如:
- // a simple "hello" ROS program.
- // by taiping.z
- // 2016/03/08
- #include "ros/ros.h"
- #include "std_msgs/String.h"
- using
namespace ros; - int main(int argc, char **argv)
- {
- ros::Time::init(); //定时器初始化
- ros::init(argc, argv, "hello"); //节点初始化
- ros::Rate loop_rate(10); //定时10ms
- while (ros::ok()) //节点是否正常工作
- {
- ROS_INFO("%s", "hello world !"); //打印节点信息
- ros::spinOnce(); //节点只循环一次
- loop_rate.sleep(); //不够10ms的补充到10ms为止。
- }
- return 0;
- }
5)在切回来到hello 包底下,在CMakeLists.txt文件中添加依赖项。
比如 add_executeable(hello src/hello.cpp) 其实会生成hello.exe的名字。
Target_link_libraries(hello ${catkin_LIBRARIES}) 添加节点编译需要的库文件。
6)上面都弄完之后,我们回到我们自己的工作空间,开始编译整个项目。
命令如下:
Catkin_make –force-cmake –G"Eclipse CDT4 – unix makefiles" –dcmake_build_type=debug –dcmake_eclipse_make_arguments=-j8
增加 –-force-cmake之后,表示强制编译,编译工具用的CDT4,且会生成两个文件 .project ,此project 也就是在Eclipse里面要用到的。
文件在 cakin_ws /devel / 文件下面,还有一个文件名忘了。此两个文件都是隐藏的,一般看不到。
上面是编译成功后的样子,肯定会有 Linking CXX出现,不然就是失败,没有生成成功。
- 打开eclIpse,进行包的导入。
这个地方和windows下面包的导入是一样的。下边最右侧的框图中,显示的是灰色,表示当前工作区当中有一个同名的工程在里面。
- 配置eclipse里面导入的工程
在导入的项目名称那,右击—debug as – debug configurations,配置一下 C/C++ Application,也就是exe的位置在哪。
下面的库文件都是自动配置好的,假如你的Eclipse里面没有的话,表示没有配置成功。
- 当上面的工作都做好以后,我们就可以进行debug了。
选择下面的debug项进行调试,但是需要先打开roscore
运行后的界面是这样的:
到此为止,整个配置环境介绍完毕。
备注:
下面讲讲我在安装ros当中遇到的坑。
- 在安装ros之前,不用乱配置服务器。
上面的服务器的配置,会出现问题。导致后面ros无法安装。
- 个人建议安装ros官网里面介绍到的服务器地址去安装,不然会出现莫名其妙的错误。
比如说 缺少依赖,这是因为不同地方的服务器,在下载ros的过程中,可能会缺少某些库,导致于缺少依赖项。
此时,没有其他方法,其实你来回的切换不同的镜像ros文件也是白搭,除非你安装不同的ros.比如indigo版本的。
版本之间其实差异性不太大,可能就是支持的力度以及硬件的驱动有所区别。
比如ros当中,之前的选择是 Download from Main server china .然后,other software里面选择 ppa:xxxx,后面的忘记了。大家参考ros安装教程即可。
3、服务器弄好之后,你就慢慢等待就行了。我们推荐安装 desktop—full版本,当然了,你安装desktop版本,也可以随时升级到 desktop-full版本。
Ros集成开发环境配置的更多相关文章
- Ubuntu虚拟机+ROS+Android开发环境配置笔记
Ubuntu虚拟机+ROS+Android开发环境配置笔记 虚拟机设置: 1.本地环境:Windows 7:VMWare:联网 2.虚拟环境 :Ubuntu 14.04. 比較稳定,且支持非常多ROS ...
- TX2 ROS IDE开发环境配置
参考资料: http://www.mamicode.com/info-detail-1663827.html 基于Qt搭建ROS开发环境 https://blog.csdn.net/sbtxg/ ...
- Laragon集成开发环境+配置Xdebug+postman运行Xdebug
[ Laravel 5.5 文档 ] 快速入门 —— 使用 Laragon 在 Windows 中搭建 Laravel 开发环境:http://laravelacademy.org/post/7754 ...
- ROS集成开发环境RoboWare Studio安装教程
前言:很多人说vim是最快的,所以我选择用roboware. ROS 自带的编辑器vim增加插件,效果如下: RoboWare Studio,效果如下: 下面开始安装. 一.安装 去官网 http:/ ...
- Python集成开发环境(Eclipse+Pydev)
刚開始学习python,就用Editplus, Notepad++来写小程序, 后来接触了Sublime Text2.认为很不错,没事写写代码.就用编辑器Sublime Text2,最好再配搭一个ap ...
- ROS_Kinetic_08 ROS的集成开发环境(IDEs)之使用Eclipse
ROS_Kinetic_08 ROS的集成开发环境(IDEs)之使用Eclipse ROS支持的IDEs比较丰富,这里以Eclipse为例介绍一下. 具体内容参考:http://wiki.ros.or ...
- 居于集成了adt的Android 开发环境配置
一.先说一下环境 Windows 8.1 64 位 注:win7 Ultimate 64 配置会出现 Android SDK manger 不能启动的问题,是因为android.bat 里调用了fi ...
- mac 配置Python集成开发环境
mac 配置Python集成开发环境(Eclipse +Python+Pydev) 1.下载Mac版64位的Eclipse. 进入到Eclipse官方网站的下载页面(http://www.eclips ...
- Laravel安装及环境的配置(XAMPP集成开发环境下)
Laravel 使用 Composer 来管理代码依赖.所以,在使用 Laravel 之前,请先确认你的电脑上安装了 Composer. 操作系统为win7: 集成开发环境XAMPP: 第一步:安装C ...
随机推荐
- 转载:设置html页面不让浏览器缓存的方法
本文是转载文章,只是方便自己记录. 在html页面head标签之间添加以下标识可以避免大多数浏览器缓存: <meta http-equiv="Pragma" content= ...
- linux 学习随笔-文件目录管理
1:绝对路径:写法一般由'/'根目录引起的 '/'表示根目录 2:相对路径:不是由'/'引起的 需要先进入/ 在进入其它文件 3:mkdir -p +目录+文件夹 可以用于创建不存在的级联目录 不 ...
- SqlServer服务器和数据库角色
首先我们来阐述服务器(实例级别)的权限,实例级别和数据库级别权限的最大不同在于:实例级别的权限是直接授权给登录名,而数据库级别的全显示授予数据库用户的,然后数据库用户再与登录名匹配.(再SqlServ ...
- PHP代码规范
PHP编码规范 1. 标识符命名规范 标识符的命名力求做到统一.达意和简洁. 1.1 统一 统一是指,对于同一个概念,在程序中用同一种表示方法,比如对于供应商,既可以用supplier,也可以用pro ...
- ES6函数剩余参数(Rest Parameters)
我们知道JS函数内部有个arguments对象,可以拿到全部实参.现在ES6给我们带来了一个新的对象,可以拿到除开始参数外的参数,即剩余参数(废话好多 O(∩_∩)O~). 这个新的对象和argume ...
- linux rpm 安装和卸载
[root@wang Packages]# mount /dev/cdrom /mnt 挂载 [root@wang Packages]# rpm -ivh zip-3.0-1.el6.x86_64.r ...
- JavaScript添加、查找、删除元素的一个实例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- HashMap和HashSet
Java使用Set接口来描述集合,而Set中每一个数据元素都是唯一的. HashSet散列集合 Hash算法:把任意长度输入,通过散列算法,变换成固定长度的输出即散列值.对不同类型信息,散列值公式也是 ...
- 第63课 C语言异常处理
1. 异常的概念 (1)程序在运行过程中可能产生异常 (2)异常(Exception)与Bug的区别 ①异常是程序运行时可预料的执行分支 ②Bug是程序是的错误,是不被预期的运行方式 2. 异常和Bu ...
- AC日记——字符替换 openjudge 1.7 08
08:字符替换 总时间限制: 1000ms 内存限制: 65536kB 描述 把一个字符串中特定的字符全部用给定的字符替换,得到一个新的字符串. 输入 只有一行,由一个字符串和两个字符组成,中间用 ...