在 Eclipse/CDT 中使用自定义 Makefile [重复]

Posted

技术标签:

【中文标题】在 Eclipse/CDT 中使用自定义 Makefile [重复]【英文标题】:Using custom Makefile with Eclipse/CDT [duplicate] 【发布时间】:2010-12-24 11:45:57 【问题描述】:

我有一个包含多个 .c.h 文件的项目,我编写了自己的 makefile。

如何配置 Eclipse 以使用我的 makefile 和我的原始位置的源文件?

【问题讨论】:

【参考方案1】:

您可以创建自定义 Makefile 并确保它位于您的项目根目录中。然后你需要禁用自动生成的makefile。你可以去这里:

Project Properties (right click on project and select properties) -> C/C++ Build -> in that window uncheck "Generate Makefiles Automatically."

要使用您自己的目标,您可以打开名为“Make Target”的视图:

Window -> Show View -> Make Target

在该视图中,您可以创建一个新目标,该目标将使用自定义 Makefile 中的相应目标。

【讨论】:

如果没有这个视图怎么办? 确保先显示高级设置。在属性弹出窗口的左下角有一个选项:“显示高级设置”【参考方案2】:

有一个选项可以从现有的 makefile 创建项目:使用“项目向导”并选择“Makefile 项目”。

【讨论】:

这是否可以让你编辑你的 Makefile 而不必像 Eclipse 那样做? @Peter:您可以按照自己的方式编辑您的 makefile,而 Eclipse 不会触及它……至少我是这样使用它的。也许有一些我还没有接触过的深奥选项:-)【参考方案3】:

您可以在 Eclipse 项目属性 -> c/c++ 构建(构建器设置)中禁用“自动生成生成文件”。

【讨论】:

【参考方案4】:

在我最近一次编译 Cross ARM 编译器的尝试中,我痛苦地发现了如何让它工作。

首先,我创建了一个“使用现有代码的 Makefile 项目”。我选择了 Cross ARM 工具链。如果我现在在 Eclipse 中打开一个控制台并进行制作,它可以工作。

现在要在 GUI 中构建,我必须:

    使用 Generate Makefile 将属性更改为 Internal Builder 检查。 设置选项现在提供构建工件选项卡。使用 $Project 选择可执行文件。 构建。这将导致链接阶段出错。 将设置切换到 External Builder,取消选中“Automatic Makefile generation” 干净 构建

【讨论】:

【参考方案5】:

您所要做的就是告诉 gmake 使用您的 makefile。 Code Composer Studio 的默认命令是 $CCS_UTILS_DIR/bin/gmake。只需告诉 gmake 使用您自己的 makefile(例如 sri.mk)。我们使用 -f 选项执行此操作。所以默认命令会变成$CCS_UTILS_DIR/bin/gmake -f ../sri.mk

请注意,Code Composer Studio 是基于 Eclipse 的。

以下是说明:

    project->properties->C/C++ Build 点击“构建器”标签 取消选择“使用默认构建命令” 将命令改为$CCS_UTILS_DIR/bin/gmake -f ../sri.mk

请注意,构建是从Debug 目录开始的。 Debug 目录包含 Eclipse 生成的 makefile。我把我的makefile放在项目的***目录中,所以我把../放在-f ../sri.mk中。

【讨论】:

【参考方案6】:

此外,根据您的项目,可能会有一行写着"default: esh $(PLUGIN_SO)," 或类似的内容。我发现将"default" 更改为"all" 也将使项目能够编译。这是一个方便的功能,eclipse :)

【讨论】:

以上是关于在 Eclipse/CDT 中使用自定义 Makefile [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何处理Eclipse CDT + Cygwin?

使用 MinGW 的 Eclipse CDT 不在控制台中输出

Eclipse CDT:没有规则使目标全部

Eclipse CDT&STM32:强制预定义程序存储器

Eclipse CDT 显示语义错误,但编译正常

如何在Ubuntu中使用Eclipse + CDT开发C/C++程序