首页 > 技术文章 > Makefile | 使用eclipse软件自动生成Makefile文件

CristL 2021-02-24 11:59 原文

Linux平台下使用 Eclipse 软件创建项目工程,创建并配置编译配置项,例如 “Debug”,完成编译配置后,项目工程中会生成相应的编译配置目录 “Debug”,该目录中自动生成 makefile 文件,不使用eclipse软件,直接使用 “make all” 命令直接编译该配置项,生成可执行文件;

主要解决需求:
将Eclipse 工程拷贝给他人使用,不需要对方安装 Eclipse 软件,即可直接对工程目录进行编译;

使用eclipse软件工程直接生成的 makefile 进行编译,出现错误提示:
“/bin/sh: 1: arm-oe-linux-gnueabihf-gcc: not found”

问题解决方法:
系统环境变量中增加该交叉编译工具链安装目录的索引;
/etc/profile 目录中 PATH 增加交叉编译工具链安装路径索引,再使用命令 source /etc/profile 即可解决该问题,亲测有效;

问题原因分析:
eclipse工程属性中,C/C++ Build -> Settings -> Cross Settings 中有PATH配置,该配置对应的就是交叉编译工具链路径;

需求2

提供 Eclipse 工程,但不提供源文件(工程中存在已经编译完成的 .o 文件),主要用于联合开发的算法库独立调试;
实现方法:
正常编译 Eclipse 工程,编译通过后将源文件(.c .h)移除,只保留工程配置项文件,如debug编译配置目录,打开debug顶层目录的makefile文件, #Tool invocations 项中,将目标文件的依赖项 ‘$(OBJS)’ 删除即可;
用户可通过 make/make all 命令链接算法库并重新生成目标文件(make 前先将已经生成的目标文件移除);

推荐阅读