6

我正在尝试在 Linux 中使用 C++ 和递归 Makefile 文件的现有文件夹集合上使用 Eclipse。make文件使用and gccar用户gcc在 Makefile 中指定他想要使用的路径。我将使用的 make 文件是手动输入的

在 Eclipse 中,有一个选项可以创建一个看起来适合我需要的新项目:"Create a new Makefile project from existing code in that same directory".

* <none>
* cross GCC
* GNU Autotools Toolchain
* Linux GCC

这里我有两个问题:

  • 我应该选择哪个工具链?Eclipse 如何使用这些信息?
  • 我希望 Eclipse 从顶级 Makefile 中尽可能多地推断(例如包含路径、生成目标等)。我怎样才能做到这一点?
4

2 回答 2

3

您的问题与我为项目设置的问题非常相似。

  1. 如果应用程序预期运行的目标平台是你正在编译的机器,你应该选择 Linux GCC。
  2. 如果应用程序运行的目标平台是 ARM 处理器,您需要指定 cross GCC。
  3. GNU Autotools 工具链旨在在不同的 linux 系统上构建源代码包。

通过选择“从同一目录中的现有代码创建一个新的 Makefile 项目”,eclipse 将假定用户的 makefile 将管理构建本身。要让 Eclipse 推断包含路径,请在项目设置中启用发现选项。诚然,您的顶级 make 需要指定包含路径、源代码路径等。

于 2012-10-10T22:07:52.030 回答
1

您实际上只能允许 Eclipse 根据您在项目中的内容为您创建生成文件,或者在您选择“构建”时告诉它运行哪个命令。混合我发现的这些选项并没有真正起作用。如果您指定 Makefile,那么使用的编译器也并不重要,因为 Makefile 将定义它。只需在创建新项目时选择一个“空 c++ 项目”,确保指定不使用“默认工作区”位置并将此输入框指向您的代码库。在项目 c++/build 设置中,确保未选中“自动生成 makefile”,并指定应执行什么命令来生成项目。(通常这是“make all”,但对你来说可能会有所不同)

于 2012-10-10T20:03:59.603 回答