使用自定义Makefile与Eclipse/CDT

45

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

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

6个回答

43
你可以创建一个自定义Makefile,并确保它在项目根目录中。然后,您需要禁用自动生成的Makefile。您可以通过以下方式实现此目标: C/C ++ Build->在该窗口中取消选中“自动生成Makefiles”。> 要使用自己的目标,可以打开名为“Make Target”的视图: <窗口->显示视图->Make Target> 在该视图中,您可以创建一个新目标,该目标将使用自定义Makefile中的相应目标。

2
如果您没有这个视图,该怎么办? - CompEng88
请确保首先显示高级设置。在属性弹出窗口的左下角,有一个选项:“显示高级设置”。 - Wallem89

20

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


1
那样子可以让你编辑Makefile而不是按照Eclipse的方式来做吗? - Peter Cordes
1
@Peter:你可以按照自己的意愿编辑makefile文件,Eclipse不会干扰它...至少我是这样使用的。也许有些我还没有接触过的神秘选项 :-) - jldupont

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

3
你只需要告诉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的。
以下是说明:
  1. 项目->属性->C/C++构建
  2. 单击“构建器”选项卡
  3. 取消选择“使用默认构建命令”
  4. 将命令更改为${CCS_UTILS_DIR}/bin/gmake -f ../sri.mk

screen capture of gui settings

请注意,构建是从Debug目录开始的。 Debug目录包含由Eclipse生成的makefile。我将我的makefile放在项目的顶层目录中,这就是为什么我在-f ../sri.mk中加入了../的原因。

3
在我最近尝试编译交叉ARM编译时,我发现了一个痛苦的事实,需要采取措施才能使其正常工作。
首先,我创建了一个“使用现有代码的Makefile项目”。我选择了交叉ARM工具链。如果我在Eclipse中打开控制台并进行编译,它就可以工作了。
现在要在GUI中构建,我必须:
  1. 更改属性为内部生成器,并勾选“生成Makefile”。
  2. 现在设置选项提供了“生成构建文件”选项卡。选择可执行文件与${Project}配合使用。
  3. 进行构建。这将导致链接阶段出现错误。
  4. 将设置切换到外部生成器,取消“自动生成Makefile”复选框。
  5. 进行清理操作。
  6. 重新进行构建。

1
此外,根据您的项目,可能会有一行代码类似于"default: esh $(PLUGIN_SO),"。我发现将"default"更改为"all"也可以使项目编译通过。这是一个很方便的功能,Eclipse :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接