此文档是在PC端开发后移植到TK1,并非在TK1上安装eclipse

官方使用IDE开发的文档: http://wiki.ros.org/IDEs

一:安装eclipse

1、下载eclipse安装包:  eclipse

2、下载JDK安装包: JDK

3、按照下面步骤执行

1)把下载的文件移动到opt目录下

sudo mv eclipse-SDK-4.2.-linux-gtk.tar.gz /opt/

2)解压安装包

cd /opt/
sudo tar xzvf eclipse-SDK-4.2.-linux-gtk.tar.gz

3)在/usr/share/applications目录创建桌面快捷方式文件

sudo gedit /usr/share/applications/eclipse.desktop

4)在文件中填入如下内容

[Desktop Entry]
Name=Eclipse
Type=Application
Exec=bash -i -c "/opt/eclipse/eclipse"
Terminal=false
Icon=/opt/eclipse/icon.xpm
Comment=Integrated Development Environment
NoDisplay=false
Categories=Development;IDE
Name[en]=eclipse.desktop

5)将/usr/share/applications/下的 eclipse.desktop拖拽(或使用指令复制)到桌面。

4、安装Jre到eclipse目录

1)解压下载的JDK

sudo tar xzvf jdk-8u131-linux-x64.tar.gz

2)进入解压后目录 jdk1.8.0_131 复制jre到eclipse目录下

cd jdk1.8.0_131/
sudo cp -r jre/ /opt/eclipse

5、双击桌面图标即可启动eclipse

二:生成eclipse项目文件

1、创建工作空间,终端中按下面步骤执行

mkdir -p catkin_ws/src
cd catkin_ws/src
catkin_init_workspace
cd catkin_ws
catkin_make

2、创建一个程序包

cd catkin_ws/src
catkin_create_pkg first_pkg std_msgs rospy roscpp

3、到catkin的工作空间,利用catkin_make命令,建立一个eclipse的项目

cd catkin_ws
catkin_make --force-cmake -G"Eclipse CDT4 - Unix Makefiles"

项目的文件声称在目录 catkin_ws/build里

三:在eclipse导入项目

1、启动eclipse,选择catkin_ws作为工作空间

2

2

2、选择File --> Import --> General --> Existing Projects into Workspace

3、从文件夹~/catkin_ws/build中导入项目

4、点击Finish 后把工程导入eclipse中,文件结构如下图

四:配置eclipse工作环境

1、添加预编译头文件的路径

–到 Project Properties --> C/C++ General --> Preprocessor Include Paths, Macros, etc. --> Providers 选项卡

 –勾选CDT GCC Built-in Compiler Settings [Shared]

2、添加项目文件

项目的源文件在文件夹 "Source directory"中,右键src选择NEW --> Source File, 创建文件 main.cpp

3、添加代码

双击main.cpp 复制如下代码

/*
* main.cpp
*
* Created on: 2017年5月25日
* Author: kopu
*/
#include "ros/ros.h" int main(int argc, char **argv)
{
ros::init(argc, argv, "hello"); ros::NodeHandle nh;
ros::Rate loop_rate(); int count = ;
while (ros::ok()) // Keep spinning loop until user presses Ctrl+C
{
ROS_INFO_STREAM("hello world" << count); ros::spinOnce(); // Allow ROS to process incoming messages
loop_rate.sleep(); // Sleep for the rest of the cycle
count++;
}
return ;
}

4、修改CMakeLists.txt文件

在编译前,需要在main.cpp文件目录下的CMakeLists.txt文件中添加新的编译内容(红色部分)

cmake_minimum_required(VERSION 2.8.)
project(first_pkg) ## Add support for C++, supported in ROS Kinetic and newer
# add_definitions(-std=c++) ## Find catkin macros and libraries
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
## is used, also find other catkin packages
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
) ###################################
## catkin specific configuration ##
###################################
## The catkin_package macro generates cmake config files for your package
## Declare things to be passed to dependent projects
## INCLUDE_DIRS: uncomment this if you package contains header files
## LIBRARIES: libraries you create in this project that dependent projects also need
## CATKIN_DEPENDS: catkin_packages dependent projects also need
## DEPENDS: system dependencies of this project that dependent projects also need
catkin_package(
# INCLUDE_DIRS include
# LIBRARIES first_pkg
# CATKIN_DEPENDS roscpp rospy std_msgs
# DEPENDS system_lib
) ###########
## Build ##
########### ## Specify additional locations of header files
## Your package locations should be listed before other locations
# include_directories(include)
include_directories(
${catkin_INCLUDE_DIRS}
) ## Declare a cpp executable
add_executable(RosProj src/main.cpp) ## Specify libraries to link a library or executable target against
target_link_libraries(RosProj ${catkin_LIBRARIES}) ## Declare a C++ library
# add_library(${PROJECT_NAME}
# src/${PROJECT_NAME}/first_pkg.cpp
# )

5、编译项目生成可执行文件

快捷键Ctrl-B,编译项目,在/home/kopu/sw_Proj/catkin_ws/devel/lib/first_pkg目录下会生成二进制文件RosProj

6:在eclipse中运行代码

创建新的启动配置,点击 Run --> Run configurations... --> C/C++ Application (double click or click on New)。

选择相应的二进制执行程序 (use the Browse… button)

确保roscore已经在终端中运行,点击Run,运行程序。

7:在eclipse中调试代码

为了调试,需要将编译器设置为调试模式,终端中,到catkin_ws/build目录执行如下代码:

cmake ../src -DCMAKE_BUILD_TYPE=Debug

重启Eclipse,这样就可以利用Eclipse的调试工具进行调试了,进入调试界面,如下图所示:

JETSON TK1 ~ 基于eclipse下开发ROS的更多相关文章

  1. 4-1eclipse & 4-2在eclipse下开发Java

    ecplise是一款继承的开发工具,可以开发我们的java程序. 下载地址: https://www.eclipse.org/downloads/ 视频中ecplise的版本 安装Ecplise: 默 ...

  2. eclipse下开发简单的Web Service

    service部分 在eclipse下新建一个动态web项目 在项目中新建一个service类 编写SayHello类的代码 package org.sunny.service; //包不要引用错了 ...

  3. [转]Eclipse下开发Struts奇怪异常:org.apache.struts.taglib.bean.CookieTei

    今天早上开始在Eclipse下学习struts,于是按照李兴华老师的<struts入门视频教程>一步一步地充满快乐的学习,等把登陆程序写完,打开浏览器准备运行的时候,奇怪的异常产生了,异常 ...

  4. 1.3……Eclipse下开发Android相关知识

    Android应用目录结构 src -------------------------------------------java原代码存放目录 gen ----------------------- ...

  5. Windows, Eclipse下开发Heritrix 3.1 (一)环境搭建

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  6. 基于Eclipse下的python图像识别菜鸟版(利用pytesseract以及tesseract)

    这是我注册博客后写的第一篇博客,希望对有相关问题的朋友有帮助. 在图像识别前,首先我们要做好准备工作. 运行环境:windows7及以上版本 运行所需软件:(有基础的可以跳过这一段)eclipse,p ...

  7. eclipse下开发winform的插件WindowBuilder

    可以开发swt,xwt等c/s应用 WindowBuilder插件可以在MarketPlace下载到,Help->Eclipse MarketPlace 可视化开发界面:

  8. Eclipse下配置javaweb项目快速部署到tomcat

    用惯了VS,再用Eclipse,完全有一种从自动挡到手动挡的感觉啊. 很多同学在Eclipse下开发web项目,每一次修改代码,看效果的时候都有右键项目->Run as -> Run on ...

  9. Eclipse&Spring开发开发环境配置

    下载Eclipse,打开http://www.eclipse.org/downloads/,选择J2EE开发版: 根据操作系统选择32位还是64位. 开发工具:SpringSource Tool Su ...

随机推荐

  1. selenium从入门到应用 - 4,页面对象设计模式的实现

    本系列所有代码 https://github.com/zhangting85/simpleWebtest 本文将介绍一个Java+TestNG+Maven+Selenium的web自动化测试脚本环境下 ...

  2. python单元测试框架 pyunit

    概况 系统要求 使用PyUnit构建自己的测试 安装 测试用例介绍 创建一个简单测试用例 复用设置代码:创建固件 包含多个测试方法的测试用例类 将测试用例聚合成测试套件 嵌套测试用例 测试代码的放置位 ...

  3. Manifest.xml中删除了『存储/修改删除SD卡中的内容』和『手机通话/读取手机状态和身份』权限,但生成apk安装软件时仍提示 允许应用程序了解或使用这两个权限

    原因:Android系统会给targetSdk版本为“4”以下的应用自动分配WRITE_EXTERNAL_STORAGE 和 READ_PHONE_STATE 权限. 解放办法:在manifest.x ...

  4. UUID(即GUID)

    UUID(GUID)是Cocoa Touch提供的一种生成唯一标识的机制.类型为CFUUIDRef的对象可以代表UUID,UUID是基于当前时间.计数器和硬件标识(通常是以太网卡的MAC地址)等数据计 ...

  5. LINQ中Aggregate的用法

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. 转: Genymotion使用及离线镜像的安装

    Genymotion是一套完整的工具,它提供了Android虚拟环境.由于它比Android自带的模拟器要流畅好多,所以它简直就是开发者.测试人员.推销者甚至是游戏玩家的福音.支持Windows.Li ...

  7. 经常使用socket函数具体解释

    经常使用socket函数具体解释 关于socket函数,每一个的意义和基本功能都知道,但每次使用都会去百度,參数究竟是什么,返回值代表什么意义.就是说用的少,也记得不够精确. 每次都查半天.常常烦恼于 ...

  8. python .py .pyc .pyw .pyo .pyd区别

    .py 文件 以 .py 作扩展名的文件是 Python 源代码文件,由 python.exe 解释,可在控制台下运行.当然,也可用文本编辑器进行修改. .pyc 文件 以 .pyc 作扩展名的文件是 ...

  9. mybatis介绍安装

    MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用简单 ...

  10. unity 常用的几种相机跟随

    固定相机跟随 这种相机有一个参考对象,它会保持与该参考对象固定的位置,跟随改参考对象发生移动 using UnityEngine; using System.Collections; public c ...