eclipse的C/C++开发搭建
环境
宿主机:ubuntu 16.04
交叉编译:gcc-linaro-4.9-2014.11
ubuntu自带源 eclipse 安装(想使用新版直接跳过)
安装eclipse
sudo apt-get install eclipse-platform
安装C/C++开发插件
sudo apt-get install eclipse-cdt
在命令行输入 eclipse 即可启动
第一次启动会要求设置默认工作区,选择一个workspace 目录即可,后面的工程均可放在里面。
eclipse-cpp-2019-06-R-linux-gtk-x86_64 使用
1.eclipse新版C/C++开发包下载
2.eclipse运行环境 jre 下载,当然也可以使用 jdk, ubuntu也自带了 openjdk
jre下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
我下载的 jre-8u221-linux-x64.tar.gz
解压安装
tar -xzvf eclipse-cpp-2019-06-R-linux-gtk-x86_64.tar.gz
tar -xzvf jre-8u221-linux-x64.tar.gz
到解压目录执行 ./eclipse
新版eclipse太占内存了,刚开始启动1G内存提示不够用,需要设置进行内存优化
还是使用老版,接下来的设置均采用老版。
eclipse工程示例及设置
1.新建工程
file->new->C project

填写工程名称,会自动生成工程目录;选择交叉编译 Cross GCC

设置交叉编译器

2. eclipse常用设置
右击工程,选择 properties-> C/C++ Build
建议使用自己的Makefile使工程更加灵活性,去掉自动生成makefile,若使用eclipse自动编译则另外应详细设置 Setting 项

3. 交叉编译调试gdb设置
4. Linux内核开发eclipse环境配置
当开发内核模块、内核驱动、内核修改时均需要配置为对应内核版本
当eclipse导入 相关配置宏定义、头文件路径时,便于源码的检错和查看。
配置步骤:
1.导出eclipse的 Paths and Symbols配置xml模板
工程上右键properties---->C/C++ General--->Paths and Symbols
右下角选择Export Settings ,自定义xml文件路径名称,一般放在工程目录下即可

我导出到 ~/workspace/wh_fsu/symbol.xml
2. 生成内核配置xml文件
内核配置文件为 .config,最好使用其编译时生成的 autoconf.h 文件来转化为 xml 文件;
注意 autoconf.h 在 make 时才会生成,位置在 linux-4.1.15/include/generated/autoconf.h
转化命令
cat autoconf.h |grep define |awk '{print "<macro><name>" $2 "</name><value>" $3 "</value></macro>"}' > symbol.xml
修改工程的xml文件
1)添加头文件目录
常用的有:
linux-4.1.15/include
linux-4.1.15/arch/arm/include
linux-4.1.15/arch/arm/mach-mxs
添加到第一个<language name="C Source File">和 </language>之间
<language name="C Source File"> <includepath>/home/wangh/Tools/linux-4.1.15/include</includepath>
<includepath>/home/wangh/Tools/linux-4.1.15/arch/arm/include</includepath>
<includepath>/home/wangh/Tools/linux-4.1.15/arch/arm/mach-mxs</includepath> </language>
2)然后将autoconf.h转化的xml文件里面的内容 全部拷贝到 第二个<language name="C Source File">和 </language>之间
同时添加一行
<macro><name>__KERNEL__</name><value>1</value></macro>

修改好后,import Settings 效果如下


添加自己的内核模块 Makefile 示例
其中内核目录 KERNEL_4115_PATH 我定义在环境变量中了

ifneq ($(KERNELRELEASE),)
obj-m := wh_gpio.o
else
PWD := $(shell pwd)
KDIR:=$(KERNEL_4115_PATH)
all:
$(MAKE) -C $(KDIR) M=$(PWD) modules
clean:
rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versions *~ *.order *.symvers
endif
eclipse的C/C++开发搭建的更多相关文章
- 搭建Eclipse、Resin Web开发环境
搭建Eclipse.Resin Web开发环境 一.当然是安装java开发环境 参看: Java环境的搭建 http://www.cnblogs.com/ghj1976/archive/2010/04 ...
- Android SDK +Eclipse+ADT+CDT+NDK 开发环境在windows 7下的搭建
Android SDK+Eclipse+ADT+CDT+NDK 开发环境在windows 7下的搭建 这几天一直在研究 Android SDK C/C++平台的搭建,尽管以前有成功在Windows ...
- Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】
http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附 ...
- eclipse工具下hadoop环境搭建
eclipse工具下hadoop环境搭建: window10操作系统中搭建eclipse64开发系统,配置hadoop的eclipse插件,让eclipse可以查看Hdfs中的文件内容. ...
- 基于Eclipse的Hadoop应用开发环境配置
基于Eclipse的Hadoop应用开发环境配置 我的开发环境: 操作系统ubuntu11.10 单机模式 Hadoop版本:hadoop-0.20.1 Eclipse版本:eclipse-java- ...
- eclipse下的webservice开发
关于eclipse下的webservice开发,有非常多的教程,这里只记下学习过程中的弯路: 1.无论是CXF模式还是AXIS模式,在出现start server之后,点击next报错:"s ...
- Spark:利用Eclipse构建Spark集成开发环境
前一篇文章“Apache Spark学习:将Spark部署到Hadoop 2.2.0上”介绍了如何使用Maven编译生成可直接运行在Hadoop 2.2.0上的Spark jar包,而本文则在此基础上 ...
- Eclipse进行C/C++开发——Eclipse+CDT+MinGW的配置与使用详解
http://hi.baidu.com/ltb6w/item/3a51f11926fda60ce75c361d Eclipse进行C/C++开发——Eclipse+CDT+MinGW的配置与使用详解 ...
- eclipse中配置c++开发环境 Eclipse + CDT + MinGW
转自eclipse中配置c++开发环境 Eclipse + CDT + MinGW 基本框架:Eclipse + CDT + MinGW 背景知识: CDT:CDT 是完全用 Java 实现的开放源码 ...
随机推荐
- Spring WebFlow 远程代码执行漏洞(CVE-2017-4971)
影响版本 Spring WebFlow 2.4.0 - 2.4.4 访问id为1的酒店http:/ :8080/hotels/1,点击预订按钮"Book Hotel",填写相关信息 ...
- 大数据学习(13)—— HBase入门
从这一篇起,开始介绍HBase相关知识.还是一样,大数据的学习,获取官网知识很重要.官网看这里Apache HBase HBase简介 Apache HBase is the Hadoop datab ...
- Kerberos委派攻击
域委派 就是指将域内用户的权限委派给服务账号,使得服务账号能以用户的权限在域内展开活动. 在域中一般只有主机账号和服务账号才具有委派属性 主机账号:主机账号就是AD(活动目录)中Computers中的 ...
- 微信小程序测试点
一.测试范围 1.权限测试 需要检查以下几种情况下微信用户访问的权限 1)未授权微信登录小程序 未授权时,一般使用一些业务功能的时候,都会弹出提醒:先授权再操作对应功能.or在提交数据到后台的时候,会 ...
- 深入了解jvm-2Edition-虚拟机字节码执行引擎
1.概述 Java虚拟机规范制定了虚拟机字节码执行引擎的概念模型,本章主要从概念模型层次来探究虚拟机的方法调用和字节码执行. 方法调用中,最核心的,是如何确定调用的方法,也就是方法的分派. 字节码执行 ...
- JAVA 调用第三方短信平台接口发送短信
做了几个调用三方短信平台发送短信的例子,大部分需要 携带参数,向指定URL发送请求 回顾对接第一个平台时痛苦的乱码经历,这里放一份代码,算是个模版,再用到的时候过来copy一下就OK. 在进入主题之前 ...
- Install and Update autojump and oh-my-zsh Behind a Firewall
Brief installation steps: Install git and zsh via yum; 'git clone' autojump and oh-my-zsh from an in ...
- docker搭建kafka集群(高级版)
1. 环境docker, docker-compose 2.zookeeper集群 /data/zookeeper/zoo1/config/zoo.cfg # The number of millis ...
- 腾讯云TDSQL MySQL版 - 开发指南 二级分区
TDSQL MySQL版 目前支持 Range 和 List 两种格式的二级分区,具体建表语法和 MySQL 分区语法类似. 二级分区语法 一级 Hash,二级 List 分区示例如下: MySQL ...
- SeacmsV10.7版代码审计笔记
data: 2020.11.9 10:00AM description: seacms代码审计笔记 0X01前言 seacms(海洋cms)在10.1版本后台存在多处漏洞,事实上当前最新版V10.7这 ...