如何在Eclipse中使用外部makefile

20

我有一份从SVN获取的开源项目源代码。我已经通过终端成功运行了autogen-->configure-->make。但我想使用Eclipse构建同一个项目,但是我不能手动将这些源文件移植到Eclipse中。那么,我该如何设置Eclipse来使用外部make文件呢?谁能帮帮我?谢谢。


这并不是一件简单的事情,但是它可以完成。创建一个新的Makefile Eclipse项目并检查构建选项... 我需要检查一下,已经有一段时间了。 - Sam Post
嘿,感谢您的快速回复。您能再帮我一点吗? - Morpheus
3个回答

27

好的,我明白了,这很简单。只需进入项目属性 --> C/C++构建 --> 生成make文件 --> 取消勾选 "自动生成Make文件"。此外,您可能还需要设置构建位置。


请问您能否解释一下这个过程?我遇到了类似的问题。在执行 make 命令之前,我需要先运行 ./bootstrap.sh,然后再运行 ./configure。 - Arpit
你现在的问题解决了吗?你能否将源代码导入Eclipse中?顺便说一下,我记得我手动运行了配置部分,只是用Eclipse进行编译。 - Morpheus
有人知道这个操作是否会将 makefile 中指定的所有源文件添加到项目资源管理器中吗? - kakyo

18

这可能因不同版本而异。我使用的是带有CDT 6的Eclipse 3.5,非常简单:

新建项目 -> C++项目 -> Makefile项目 -> 空项目

取消选中“使用默认位置”,并提供项目和Makefile根目录所在的位置。

起初我觉得这很容易让人误解,在复制的目录中运行多次以确保“空项目”不会清除Makefile,但实际上,该选项名称可能是误导性的,因为“空”表示CDT不会为您创建Makefile(但也不会删除现有版本)。


0
您可能可以避免创建自定义的 makefile。标准的 Eclipse 自动生成的 makefile 有一些钩子:
.
.
-include ../makefile.init
.
.
.
-include ../makefile.init
.
.

这允许您在保留Eclipse的构建自动化的同时添加自己的调整到构建过程中。

例如,我需要在我的可执行文件中包含一个二进制图像,因此我有一个名为makefile.defs的文件:

binaryblob.o:
    ld -r -b binary -o binaryblob.o ../binaryblob.mid

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