zoukankan      html  css  js  c++  java
  • 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++开发包下载

    下载地址:https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2019-06/R/eclipse-cpp-2019-06-R-linux-gtk-x86_64.tar.gz

    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
  • 相关阅读:
    Linux Shell编程(25)——I/O 重定向
    Linux Shell编程(24)——命令替换
    Linux Shell编程(23)——文本处理命令
    Linux Shell编程(22)——时间/日期 命令
    Linux Shell编程(21)——复杂命令
    玩转大数据,顺利渡过34岁裁退危机!
    传统企业IT架构如何能更好的支撑企业互联网业务的转型
    业务技术协同线上化的硬盘式研发管理实践
    做一个美女图片大全那种的网站怎么提高网站流量?
    Eclipse曾经的行业之王,为何堕落了?
  • 原文地址:https://www.cnblogs.com/silencehuan/p/11270327.html
Copyright © 2011-2022 走看看