6

问题的简短版本:Eclipse 生成的、 、 、 和objects.mk文件sources.mkmakefile什么subdir.mk*.o*.d


问题的长版本:

  1. 在我的主目录中,我有workspace目录。每当我创建一个项目并调用它时,Eclipse 都会在该文件夹中创建ProjectName一个新目录(也称为)。ProjectNameworkspace
  2. 在我的项目中,我创建了不同的类,每个类都与 2 个文件(源文件ClassName.cpp和头文件ClassName.h)相关联。这些文件被放入workspace/ProjectName/src文件夹中。
  3. 现在我Build在 Eclipse 中的项目中workspace/ProjectName出现了一个新文件夹。它被称为Debug
  4. 在此文件夹中,只有一个文件的功能我理解:ProjectName. 它是可执行文件。如果我在命令行中输入它的名字,我的程序就会被执行。
  5. 另外 3 个文件我不知道:objects.mk, sources.mk, makefile.
  6. 此外,在Debug文件夹中有src目录。它包含subdir.mk我不知道含义的文件以及ClassName.oClassName.d文件(如果我有 N 个类,则将有 N 对*.o*.d文件。)

请任何人解释这些文件的含义和目的吗?

4

1 回答 1

5

objects.mksources.mk和是 Eclipse 根据您的项目类型(可执行文件、库、共享库)生成的 makefile makefilesubdir.mk有关它们的内容以及它们的工作方式,请参阅make工具链的命令文档。总之这些负责调用编译器和链接器。

ClassName.o是编译器生成的目标文件,所有这些都将链接到一个可执行文件或存储在一个库中(取决于项目类型)。

ClassName.d是一个所谓的依赖引用文件,由编译器(按需)生成并包含在 makefile 中,可以跟踪头文件中的更改,并在必要时重新编译相关的源文件。

于 2013-01-17T11:00:26.690 回答