【问题标题】:Where is the Makefile generated by the Eclipse CDT?Eclipse CDT 生成的 Makefile 在哪里?
【发布时间】:2011-05-18 22:23:24
【问题描述】:

我已经使用 Eclipse(helios) CDT 构建了一个 hello world C++ 项目。它编译得很好。但我想看看生成的 Makefile CDT。我在项目文件夹/调试/发布文件夹或 src 文件夹中找不到它。在哪里可以找到这个 Makefile?

【问题讨论】:

    标签: c++ eclipse makefile eclipse-cdt


    【解决方案1】:

    在 Windows 上,

    点击你的项目,进入菜单project -> properties,选择Tool Chain Editor,然后选择Current BuilderGnu Make Builder

    现在构建一个目标生成 makefile。

    http://help.eclipse.org/helios/index.jsp?topic=%2Forg.eclipse.cdt.doc.user%2Freference%2Fcdt_u_prop_build_toolchain.htm

    【讨论】:

      【解决方案2】:

      如果您使用current builder = CDT internal builder 的默认设置,则没有make 文件。 如果您选择current builder = GNU make,您将在调试文件夹中看到makefile。

      【讨论】:

      • 我没有调试文件夹
      【解决方案3】:

      我唯一能想到的就是没有创建makefile。点击您的项目,进入菜单project -> properties,在左侧窗格中选择C/C++ Build,并确保选中Generate Makefiles automatically复选框。

      【讨论】:

      • 然后呢?什么时候应该弹出makefile?
      【解决方案4】:

      默认情况下,您应该有 [workspace]/[project folder]/Debug/ma​​kefile。您是否对默认环境进行了任何更改?

      这是来自 Helios (windows/cygwin) 安装的 HelloWorld 示例项目生成文件:

      ################################################# ############################## # 自动生成的文件。不要编辑! ################################################# ############################## -包括 ../makefile.init RM := rm -rf # 所有参与构建的源都在这里定义 -包括sources.mk -包括子目录.mk -包括 src/subdir.mk -包括对象.mk ifneq ($(MAKECMDGOALS),clean) ifneq ($(strip $(C++_DEPS)),) -包括 $(C++_DEPS) 万一 ifneq ($(strip $(C_DEPS)),) -包括 $(C_DEPS) 万一 ifneq ($(strip $(CC_DEPS)),) -包括 $(CC_DEPS) 万一 ifneq ($(strip $(CPP_DEPS)),) -包括 $(CPP_DEPS) 万一 ifneq ($(strip $(CXX_DEPS)),) -包括 $(CXX_DEPS) 万一 ifneq ($(strip $(C_UPPER_DEPS)),) -包括 $(C_UPPER_DEPS) 万一 万一 -include ../makefile.defs # 将这些工具调用的输入和输出添加到构建变量中 # 所有目标 全部:HelloWorld.exe # 工具调用 HelloWorld.exe: $(OBJS) $(USER_OBJS) @echo '建筑目标:$@' @echo '调用:Cygwin C++ 链接器' g++ -o"HelloWorld.exe" $(OBJS) $(USER_OBJS) $(LIBS) @echo '完成的建筑目标:$@' @回声'' # 其他目标 干净的: -$(RM) $(C++_DEPS)$(OBJS)$(C_DEPS)$(CC_DEPS)$(CPP_DEPS)$(EXECUTABLES)$(CXX_DEPS)$(C_UPPER_DEPS) HelloWorld.exe -@echo '' .PHONY:所有干净的家属 .中学: -include ../makefile.targets

      【讨论】:

      • 谢谢。我在整个计算机上进行了搜索,但找不到那个。它可能会即时生成并自动删除?
      • 这很奇怪。即使我清理了所有 CDT 项目,它们的 makefile 也不会被删除。
      猜你喜欢
      • 1970-01-01
      • 2011-06-14
      • 2011-04-29
      • 2013-09-06
      • 2016-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-13
      相关资源
      最近更新 更多